little DSL refactoring, added some tests to Rep DSL