TODO: defaults, dynamic adding, redraw not reload