modified views to exploit partial and keep the views DRY