apply, it's going to need more work than i have time for at the moment to merge (i hate these external patchsets...)