functional group detection