detect common logic update
new detect method