refactor call route