abstract reduction fill