default values fix, defaults for captions, and callback onUpdate