Added router functionality, it broke some components but the changes need to be committed.