pushed all Ning's changes