add recipe operation