An implementation of different design pattern