finished multi-variable version