design pattern changes galore