Merge kelvin's branch

Hope kelvin didn't do something shit.