service hooks