added commands pattern