Changed isSubclassOf by implementsInterface