all command stack stuff into 1 reusable controller class #36