design patterns almost ready