add prehook