clone of code.google.com/p/go9p