Now fully complete. Need to edit comments and clean up some code. Also need to complete extra credit 1 and 2.