add generic page view boilerplate; create index module