edited some more, still got quite a bit to fix