added initial functional requirements