Final commit of course work. Not optimized.