Feature/refactoring representor

@fosdev Please have a look again.