cherry picked shapes support from master