make it genereic
make a specialized widget for editing fieldvalues