some changes to shell programming