updated the drive forward function