improved pyshell