break tracker stuff out in to its own package