Good gravy, lay everything out hope we dont get a null buffer