initialize non-record fields in constructor