temp.track needs to be called only once