added track function