detection routines