how to write prompts for complex tasks