introduce dsl
update readme