main page framework