new edition

new one modify some code, to make it easy.