use cases and patterns