first draft thoughts
lots more thinking; wrapped metadata inside PageState structure