challenge #6 done

and a few minor changes to the optional one