added dynamic settings attribute and intelligent defaults