impromptu discussion on design pattern