initial implementation
added composer.json