working on making a wrapper for callback shim