week 2

sorry, there are 91 commits here.