added dynamic page build