the 1st version, some intuitive code

This code aren't tested yey.