extended views, refactored code