tianweiz: combine two versions