Major fix and clean-up
Minor clean up
Merged with comments from lab3-start and changed FIXME to DONE.