back&forward feature using hash