Remove private
Implement DSL feature