added required property support