implemented working routing. Close #4