Working on gear implementation