adding some boilerplate socket stuff