Add p_shell.[ch]