javascript is now past so dynamic, charging only the pages that are needed