obvious implementation detect?method