Looks generally good to me, but is there any good reason to not make the -K argument extensible by requiring a version argument, even if that one currently only supports 2 and 3 as valid values?