adding track transaction, changing interfaces