Finished Lab5, Partial (working) Lab8