starting usability refactor