#44 use a custom field editor to intercept the carriage return event
#41 minor refactoring