more socket stuff, but i'm giving up on this until later