I lied a bit before, NOW all fns take the same args