commented and removed abstract base classes