This is a lot of changes for a small project. Seriously...