thoroughly revised