some scenario for design pattern