better handling of field types

still not working 100% correctly on clone