changed approach to user interface first