introducing usecases