hook all methods