fields now use a register mechanism. this is a basic for creating new field types