fully working models and sockets