split up views to component parts

rather than one big view for each page