refactor pagemaker