renamed implements to implement
added hasInterfaceImplementation()