finally homework, in new forked repo

this should solve me trying to rewrite everyone else's stuff.