changed args to willoughgen, using struct instead