modify shell with struct