Some non-functional requirements added.