further refinement of wrapper