implemented selectable view modes and hashbang urls