make routes functional.
merged changes.
Changes from origin.