reworked api
updated tranny