#21 done.
#17 done.