Lots of changes. This better work soon. Going to merge into master cuz yolo.