implemented reverse routing