updated assignment 2.3