ex17 done
ex18 done..ish