Reduce file, and fix bug.

Well, check the fc for detail.