changed server to non-blocking with a thread pool