design patterns submission