This is the version5.0

After rethinking, I changed the way to express. However theory of
implementation still the same, for I think it is right.
I need to test it tomorrow.