building pages from modules and components