Lots of work, basically now it should be working