Implement socket