diff --git a/src/main/kotlin/hu/bme/i9rv7w/ergraph/App.kt b/src/main/kotlin/hu/bme/i9rv7w/ergraph/App.kt
index 0bc9eb26d6f573eb19e30751fba3d8ac98f49e59..29edf73dffcc9fd8ebbec4c41eb294137f35acf3 100644
--- a/src/main/kotlin/hu/bme/i9rv7w/ergraph/App.kt
+++ b/src/main/kotlin/hu/bme/i9rv7w/ergraph/App.kt
@@ -1,7 +1,274 @@
 package hu.bme.i9rv7w.ergraph
 
-import hu.bme.i9rv7w.ergraph.core.schema.Graph
+import hu.bme.i9rv7w.ergraph.core.relation.physical.Connects
+import hu.bme.i9rv7w.ergraph.model.electrical.PowerCord
+import hu.bme.i9rv7w.ergraph.model.electrical.SocketStrip
+import hu.bme.i9rv7w.ergraph.model.electrical.Supply
 
-fun main() {
-    println("jejejejej")
+fun betapok() {
+    val `betap-hosszabbito-6` = SocketStrip(socketNum = 6)
+    val `betap-hosszabbito-1` = SocketStrip(socketNum = 3) // 3 lyukas
+    val `betap-hosszabbito-2` = SocketStrip(socketNum = 3)
+    val `betap-diszkret-1` = SocketStrip(socketNum = 1) // 1 lzukas diszkret
+    val `betap-diszkret-2` = SocketStrip(socketNum = 1) // 1 lzukas
+    val `betap-diszkret-3` = SocketStrip(socketNum = 1) // 1 lzukas
+
+    val `salgo-eloszto-1` = SocketStrip() // salgo elsozto 1
+    val `rack2-ups-1` = SocketStrip()
+    val `rack1-eloszto-1` = SocketStrip()
+    `betap-hosszabbito-6`.run {
+        betápol(`salgo-eloszto-1`, 1)
+        betápol(`rack2-ups-1`, 2)
+        betápol(`rack1-eloszto-1`, 3)
+    }
+
+    val `rack1-ups2` = SocketStrip()
+    `betap-hosszabbito-1`.betápol(`rack1-ups2`, 1)
+
+    val `rack2-eloszto-1` = SocketStrip()
+    `betap-hosszabbito-2`.run {
+        betápol(`rack2-eloszto-1`, 1)
+    }
+
+    // salgo elosztókat még uplinknek is hívják
+    val `rack1-ups-1` = SocketStrip()
+    val `salgo-eloszto-2` = SocketStrip()
+    `betap-diszkret-1`.run {
+        betápol(`rack1-ups-1`, 1)
+        betápol(`salgo-eloszto-2`, 2)
+    }
+
+    val `salgo-eloszto-3` = SocketStrip()
+    val `salgo-eloszto-4` = SocketStrip()
+    `betap-diszkret-2`.run {
+        betápol(`salgo-eloszto-3`, 1)
+        betápol(`salgo-eloszto-4`, 1)
+    }
+
+    val `rack2-eloszto-2` = SocketStrip() // TODO dunno
+    `rack1-ups-1`.betápol(`rack2-eloszto-2`, 24)
+
+    val `rack2-eloszto-3` = SocketStrip()
+    `betap-diszkret-3`.run {
+        betápol(`rack2-eloszto-3`, 1)
+    }
+
+    /*---------------------------------------*/
+    // rack1
+    val `rack1-3j` = Supply()
+    val `rack1-2l` = Supply()
+    val `rack1-11j` = Supply()
+    `rack1-eloszto-1`.run {
+        bedug(`rack1-3j`, 1)
+        bedug(`rack1-2l`, 2)
+        bedug(`rack1-11j`, 5)
+    }
+    val `rack1-2f` = Supply()
+    val `rack1-8b` = Supply()
+    val `rack1-6` = Supply()
+    val `rack1-5b` = Supply()
+    val `rack1-11b` = Supply()
+    val `rack1-1j` = Supply()
+    val `rack1-4j` = Supply()
+    `rack1-ups2`.run {
+        bedug(`rack1-2f`, 21) // 2X lent
+        bedug(`rack1-8b`, 14) // 1X fent
+        bedug(`rack1-6`, 22)
+        bedug(`rack1-5b`, 13)
+        bedug(`rack1-11b`, 11)
+        bedug(`rack1-1j`, 24)
+        bedug(`rack1-4j`, 12)
+    }
+    val `rack1-1b` = Supply()
+    val `rack1-8j` = Supply()
+    `rack2-eloszto-3`.run {
+        bedug(`rack1-1b`, 4)
+        bedug(`rack1-8j`, 6)
+    }
+
+    val `rack1-9b` = Supply()
+    val `rack1-3b` = Supply()
+    val `rack1-7` = Supply()
+    `rack1-ups-1`.run {
+        bedug(`rack1-9b`, 23)
+        bedug(`rack1-3b`, 21)
+        bedug(`rack1-7`, 13)
+    }
+
+    /*---------------------------------------*/
+    // fura
+    val `rack1-9j` = Supply()
+    val `rack1-5j` = Supply()
+    val `rack1-10` = Supply()
+    `rack2-eloszto-2`.run {
+        bedug(`rack1-9j`, 5)
+        bedug(`rack1-5j`, 4)
+        bedug(`rack1-10`, 6)
+    }
+
+    val `rack1-4b` = Supply()
+    `rack2-eloszto-1`.bedug(`rack1-4b`, 6)
+
+    /*---------------------------------------*/
+    // rack2
+    val `rack2-5b` = Supply()
+    val `rack2-sw2` = Supply()
+    `rack2-eloszto-2`.run {
+        bedug(`rack2-5b`, 1)
+        bedug(`rack2-sw2`, 3)
+    }
+
+    val `rack2-7f` = Supply()
+    val `rack2-3b` = Supply()
+    val `rack2-6f` = Supply()
+    `rack2-ups-1`.run {
+        bedug(`rack2-7f`, 13)
+        bedug(`rack2-3b`, 12)
+        bedug(`rack2-6f`, 14)
+    }
+
+    val `rack2-6l` = Supply()
+    val `rack2-7l` = Supply()
+    val `rack2-3j` = Supply()
+    `rack2-eloszto-1`.run {
+        bedug(`rack2-6l`, 4)
+        bedug(`rack2-7l`, 3)
+        bedug(`rack2-3j`, 2)
+    }
+
+    val `rack2-sw1` = Supply()
+    `rack1-ups2`.run {
+        bedug(`rack2-sw1`, 24)
+    }
+
+    /*---------------------------------------*/
+    // salgo
+
+    val `fenti` = SocketStrip()
+    val `lenti` = SocketStrip()
+    `salgo-eloszto-2`.betápol(`fenti`, 9)
+    `salgo-eloszto-4`.betápol(`lenti`, 2)
+
+    // also es felso
+    val `salgo-5b` = Supply()
+    val `salgo-5j` = Supply()
+    val `salgo-6j` = Supply()
+    val `salgo-6b` = Supply()
+    val `salgo-7j` = Supply()
+    val `salgo-7b` = Supply() // TODO kornel ups
+    val `salgo-10j` = Supply()
+    val `salgo-10b` = Supply()
+    val `salgo-12j` = Supply()
+    val `salgo-12b` = Supply()
+    val `salgo-13j` = Supply()
+    val `salgo-13b` = Supply()
+    val `salgo-14j` = Supply()
+    val `salgo-14b` = Supply()
+
+    //
+    val `salgo-15j` = Supply()
+    val `salgo-15b` = Supply()
+    val `salgo-17j` = Supply()
+    val `salgo-17b` = Supply()
+    val `salgo-18j` = Supply()
+    val `salgo-18b` = Supply()
+    val `salgo-19j` = Supply()
+    val `salgo-19b` = Supply()
+    val `salgo-26j` = Supply()
+    val `salgo-26b` = Supply()
+    val `salgo-29j` = Supply()
+    val `salgo-29b` = Supply()
+    val `salgo-34j` = Supply()
+    val `salgo-34b` = Supply()
+    val `salgo-35j` = Supply()
+    val `salgo-35b` = Supply()
+
+    val `salgo-31f` = Supply() // felso
+    val `salgo-31a` = Supply() // also
+
+    // egy tapos
+    val `salgo-21` = Supply()
+    val `salgo-33` = Supply()
+
+    // harom tapos
+    val `salgo-40a` = Supply() // also
+    val `salgo-40k` = Supply() // kozep
+    val `salgo-40f` = Supply() // fenti
+
+
+    fenti.run {
+        bedug(`salgo-5b`, 9)
+        bedug(`salgo-6b`, 8)
+        //bedug(`salgo-7b`, 1) // TODO UPS
+        bedug(`salgo-10b`, 1)
+        bedug(`salgo-12b`, 6)
+        bedug(`salgo-13b`, 5)
+        bedug(`salgo-14b`, 4)
+        bedug(`salgo-10j`, 7)
+    }
+    lenti.run {
+        bedug(`salgo-5j`, 6)
+        bedug(`salgo-6j`, 5)
+        bedug(`salgo-7j`, 14)
+        bedug(`salgo-12j`, 3)
+        bedug(`salgo-13j`, 2)
+        bedug(`salgo-14j`, 1)
+    }
+
+    `salgo-eloszto-2`.run {
+        bedug(`salgo-15b`, 1)
+        bedug(`salgo-17b`, 2)
+        bedug(`salgo-18b`, 3)
+        bedug(`salgo-21`, 4)
+        bedug(`salgo-31f`, 6)
+        bedug(`salgo-34b`, 7)
+        bedug(`salgo-40k`, 8)
+    }
+
+    `salgo-eloszto-1`.run {
+        bedug(`salgo-19b`, 2)
+        bedug(`salgo-26b`, 3)
+        bedug(`salgo-33`, 5)
+        bedug(`salgo-40f`, 7)
+    }
+
+    `salgo-eloszto-3`.run {
+        bedug(`salgo-26j`, 1)
+        bedug(`salgo-29j`, 2)
+        bedug(`salgo-31a`, 3)
+        bedug(`salgo-34j`, 4)
+        bedug(`salgo-35j`, 5)
+    }
+
+    `salgo-eloszto-4`.run {
+        bedug(`salgo-15j`, 3)
+        bedug(`salgo-17j`, 4)
+        bedug(`salgo-18j`, 5)
+        bedug(`salgo-19j`, 6)
+        bedug(`salgo-40a`, 7)
+
+    }
+
+    // TODO 28 UPS
+    // TODO 29 UPS
+    // TODO 35 ups
+}
+
+private fun SocketStrip.bedug(supply: Supply, hely: Int) {
+    val betap = this
+    val cord = PowerCord()
+    Connects(betap.sockets[hely], cord)
+    Connects(cord, supply)
 }
+
+private fun SocketStrip.betápol(strip: SocketStrip, hova: Int) {
+    val betap = this
+    val cord = PowerCord() // TODO ez tuti power cord?
+    Connects(betap.sockets[hova], cord)
+    Connects(cord, strip)
+}
+
+fun main() {
+    betapok()
+    println("asd")
+}
\ No newline at end of file