modified hook