working version of the wrapper