recursive page loading