What is the difference between functional and non-functional requirements, and how do you document them in a product requirement document?