added sameSignatureAs in the default implementations