merge up changes from develop (cherry picked previously code reviewed commits)