added an implementation detector