INFO247 - Lab 6 - #3 All from scratch