Added all requirments and use cases