After merging with then splitting from osh-pages

Still figuring out which logic belongs in osh-page and which in
osh-pages.