add #! hooks