nit: we don't need 2 blank lines between global functions. That only applies to classes, right?