a bit of assignment 4