3.2 Functional requirements