main routing, now translating hash and redirecting