Separate out model and update modules
Add .gitignore