rm implementation plus now client middleware sockets work