not a big fan of single letter variable names unless they're incrementors in loops. I'd rather call this `key` than `i`