add nested routes spec and refactor Route