adapted UseCases