support multi operation;
clean some code;