updated shape events logic