Done! huge pr! details later...