replaced netty.io with custom