dynamic ingredient add