implement new wrapper