done with lecture 2