added isCompatible method