add adapters for node-style callbacks