prepared for composer / packagist