detailed use case