fragment in order to allow easier customization and easier support for different field types (required for #7) - WIP Handle unsupported types gracefully (#9)