refactor wrappers