checkpoint 5 - python
checkpoint 6 - flask
checkpoint 8 - final touches
merge conflicts