Lots of updates, now working functionality