new version: add arearange