Reworking function