Updated to use PSR-4 autoloading