better way of handling array
completely redo management of offices