factor out more structure page commonalities