Good!  This code already implement by original author(maybe simon?).
But I will change the this function.
Thanks.