change event position and implementation