merge from master and split the controller for upload and create

Change-Id: I0684fdd598da886067106bf30f923025063b3b2b