smaller and psr compliant