started to use inheritence for TF question. Will make a new abstract base class for future