recognize opts as shorthand for options

- allow opts attribute to be used as a shorthand to options
- set the default value of each option to empty string instead of nil