refactor ticket router