add prompts and error handling