fix #30: reload page on hash change