moved some DSL related code to dsl package