moving some logic from interactor to map