add pages and functionality