added rearrangement listener