And a bunch of improvements, I wrote all of them and then I accidentaly closed commit editor, so yeah :(