optimize PSR-3