uses vector of routing trees rather than linked list