first commit, second assignment.  Just making everything more modular at the moment