detect self