more work on fields and ctors