all server and client features, testing/example code present, now needs extensive testing