update all shapes. add logic for shape switching