Whole thing mostly done