big commit hopefully i didnt break anything. Partial commit on this one