learned in cs50 pset6