moved non-abstract stuff from state.py to shell.py