use cases, class model