model data struct is a bit more sane now