begining of epoll implementation