Better destructors in components
Add .gitignore