implement new epoll lib