Design Pattens Assignment 4