Updates to simplify classes, reuse base classes