split promise into separate route