Too much updates since my last commit, so I can't really make a chance log. There should be enough comments to clarify everything.