base page implementation