Cleaned up to conform to PSR-2