better field interface, plus other fixes