refactor for identification