Break track() out into two different functions