#17 Various restructuring, record unpack (untested)