new constraint/system property implementation
key and value should not extend