Messy stuff, will rebase it afterwards.. and this commit will be history