More models cleanup.
Added some error checking to core::read.