refactored app view