added gear shifting