Update README and gitignore
Add Composite design pattern
Add Makefile