refactor to not bloat tracking obj