refactoring + update readme + demo NIO server