* Reduce the number of calling DB.
* Improve design(a little).