using dynamic pages to decrease duplication; passed six tests