moved __source__ method to DSL