Conformed to PSR-4 standards