fixed 18
fixed 19
fixed 20