add function recognition