refactor Wrapper interface to prepare for reverse assignment