Fixed Bug, add several new features.