component pages, now with inheritance!