First commit, added a lot of networking backend.