working basic shell