added isCompatible and extended the default method