refactored wrapper logic as morpher