change how we're passing things to prevent double allocation and indicate that the parameter is required to not be null