added routing. everything is completed