start tinkering around with possibly using a dsl