makes documentjs perform much faster, does not need to recurse down every page