Rework 'work fn