Revert "Revert "Revert "Revert "add a identify function""""

This reverts commit fb4ca5552ecd5a214d8707b5c0abc0d631e72c29.