Spells with multiple inputs, refactor