* not last commit
* fix some bug and corrected misconceptions