Added functional and non-functional requirements