updated composer to psr4, actually made it an abstract class and updated documenation