improve shell and session