refactor model mapper