support default value and asterisk