Fixed lots of small errors and added Router