implemented working router