refactoring representor