PSR compliant, thanks to the work by SammyK