updated grabber code with async js and proper grabbing