support for multiple route types