Working on sockets. Kinda a mess