dont call setState() in ready(), call by routeToState() already