tried a new method of constructing wrappers for node-style functions