Made a few changes, all untested and uncomplete!
Tested the packet stuff, worked well ;D