move require login logic to interactor