making classes implementation work dsl like