Bunch of changes, I'll regret not writing this message later.