further changes to shell and screenutils, still working on keyboard input