lecture 11 add throw in operator=