further cleanup on LooseObject
tested LooseObject.read