refactored DSL example plugin