updated definitions to allow nulling of different fields. (more of this exercise to be completed)