rework again