Added an UML and updated the gitignore