allow routing func to be replaced [at runtime]