improvements to UI and validation on API