simple shell implementation