diff --git a/ip-allocator/ip.go b/ip-allocator/ip.go
new file mode 100644
index 0000000..29e3500
--- /dev/null
+++ b/ip-allocator/ip.go
@@ -0,0 +1,32 @@
+package main
+
+import (
+	"fmt"
+	"strconv"
+	"strings"
+)
+
+type IPv4 uint32
+
+func ParseIP(dot string) (IPv4, error) {
+	var ip IPv4 = 0
+	o := strings.Split(dot, ".")
+	for i := 0; i < 4; i += 1 {
+		b, _ := strconv.Atoi(o[i])
+		ip = ip | (IPv4(byte(b)) << (uint(3-i) * 8))
+	}
+	return ip, nil
+}
+
+func (ip IPv4) Next() (IPv4, error) {
+	return ip + 1, nil
+}
+
+func (ip IPv4) String() string {
+	b := []byte{0, 0, 0, 0}
+	for i := 0; i < 4; i += 1 {
+		m := IPv4(255) << uint((3-i)*8)
+		b[i] = byte(((ip & m) >> uint((3-i)*8)))
+	}
+	return fmt.Sprintf("%d.%d.%d.%d", b[0], b[1], b[2], b[3])
+}
