PSR2 compliant