Lots of stuff done (it's a sin to have such messed up commit)