framework for the wrapper