re-structured to work with PSR-4 and composer / packagist