working on cleaning up base class