Lots of changes, but everything is finally working