update gitignore, add composition documentation