more DSL-like