updated for 3.1, added composer.json