detector implementations