changed where check_valid_shell is called
removed absent to present test
check valid shell inside setter
Added tests