feat implement psr-4 autoloading