first draft for rangefield + rangewidget