Bunch of small changes, still works though