basic sockets stuff added