first pass at feature dsl