update h & f