add more hints and simplify a proof