Restructure and lots of updates