LOTS of improvements~!