rearange for clarity