heavy documentation, pset05 done