hard update