Refactored most of Week 0's problems and unit tests.
There is still room for improvements.