change Socket object design