fixed some defect