implement ExecuteCommand