[some minor modification]