implementing with ghostdriver