Can't we separate this logic on another method?