use libuv if available