more components and refactoring

fully functional model with room temperature control
gitignore update