added existing shape modification logic