making things a bit more OOP
slightly more encapsulated
more encapsulation
use base socket class
move files around