added cache etc. to message_handler
Merge remote-tracking branch 'dirvine/routing_v2' into routing_v2