a generic tracking class