improve error msg
prepare for task 5
commit more often
prepare for task 6