new detect class

preliminary manual test