psr2 compliant