basic UI and functionality... finished app