Added Socket functionality