Initial commit. Sockets work but are buggy.