use history instead of hash