modified def done