add test coverage + use psr4 autoloading