Re-think parameter passing, for the details