Worked on socket protocol