Implement all use cases.