What is the difference between a functional requirement and a non-functional requirement? Give an example of each.