Manual test and retest to see if refactoring didn't break everything - so far so good \o/