refactor menu callbacks and row/column adding