added test and define optional tlv field type