Updated for Homework 5

Start of Homework 5, moved some inline stuff into other files for
organizational reasons.