Further refactored gather commands by creating struct gather and moved gather fields from struct command to struct gather.