working on a more flexible set of form elements and example use cases