poltergeist stuff refactored into page model