bug fixed and some feature added