A better view idea. Some minor refactoring