added some reqirements and a new uml