implemented dynamic pages