- part 1 is done
- part 2 is done
- part 3 is done
- add generated files
- part 4.1 is done