study about command design pattern