use cases updated according the input from karl