Big commit. Added unit testing to project.