handle nullable properties properly