added support for default value