applied PR #38, PR #36, PR #27
updated composer.json