Add new, more modular implementation of this wrapper