progress on backend, mostly in def input formatting and validation