added track change function