add animations and back button functionality, continue refactoring