likewise just ripped this out and restructured a little to make it easier t oread