upgraded library to PSR 2 compliance