not working, first rearange