PSR-0 Compliant