prepared for packagist