make Picker class more general