GR 42 - restrict fields

For code review only; still needs unit tests.

Fails rubocop tests at the moment for the same reason master does.