finished but there's a lot of redundancy
Merge branch 'master' of github.com:ncoop/study