clone from googlecode,no change here.