addition of assignment 3 and 4