use davis for push state
use a basic router to handle pushstate