PSR2 total compliance. Fixes #4