Stock Trading Canary

Snapshot date: 2026-10-18 · Built: 2026-10-19T15:08:42+00:00 · Publication status: PASS

← Europe ranking · 中文

COMPANY RESEARCH

Umida Group AB (publ)

UMIDA-B.ST · Sweden · Consumer Defensive · Beverages—Wineries & Distilleries

INSIDER SIGNAL

Insider activity score:66.4 / 100

3 insiders · 11 purchase events · €66k net purchases

Europe #140 · Sweden #29

WHY THIS SIGNAL?

Score anatomy

Each bar shows the contribution to the current score; the weights and formula stay unchanged.

Cluster+29.8 / 35

How many distinct insiders bought in the cluster

Purchase size+18.0 / 25

Purchase value relative to company size and liquidity

Role+20.0 / 20

The seniority and relevance of participating insiders

Recency+8.7 / 10

How recently the purchases occurred

Conviction+10.0 / 10

How clearly buying stands out from other activity

What is holding the score back?

  • ✓ Broad buyer cluster · 4+ distinct filers
  • ✓ Strong insider role · ceo/chair involved
  • ✓ Recent activity · latest purchase 2026-10-15

The role contribution uses the inverted role input of the current European model.

BUYING PROFILE

11 events · 3 insiders · 180d

Cluster 73%Repeat 27%Independent 0%Large 0%

Percentages are mutually exclusive and sum to 100%.

Buying concentration

41%

Largest buyer:Filip Lundquist · 439k SEK
Gross qualified purchase transaction-line value:1.08m SEK

The headline € total is net buying for the screen; this module uses gross qualified purchase transaction-line values in the filing currency, so the amounts can differ. The current 15-day buyer-breadth input counts distinct buyers; value concentration is disclosed separately here.

This is a ranking under the current European screening rules—not a probability of gain, return forecast, or buy recommendation.

Key purchase quotes (filing currency)

FilerPrice per unitTrade date
Filip Lundquist0.417–0.437 SEKOct 15, 2026
Filip Lundquist0.45 SEKOct 14, 2026
Fatih Kurtulus0.45 SEKOct 14, 2026
Model details

Cluster breakdown (does not change the score)

15-day buyer breadth (count)
3 distinct reported filers
Peak time window
2026-06-26 to 2026-07-03
Current breadth input
0.850 (capped at 4+ buyers)
Buyer independence
Not yet measured; related-party fields are not cross-market comparable

What the filings show

Insider vs stock price

7 purchase day(s), 24 purchase line(s) in the 180-day window.

Daily close (SEK)Day with an insider purchaseTwo or more insiders the same day
0.40.60.8May 2026JunJulAugSepOct2026-05-21 · 6 purchase line(s) · 1 insider(s) · close since that day -40.4%2026-06-01 · 2 purchase line(s) · 1 insider(s) · close since that day -33.9%2026-06-26 · 1 purchase line(s) · 1 insider(s) · close since that day -29.7%2026-07-03 · 3 purchase line(s) · 3 insider(s) · close since that day -35.5%2026-09-08 · 1 purchase line(s) · 1 insider(s) · close since that day -6.7%2026-10-14 · 3 purchase line(s) · 3 insider(s) · close since that day +20.7%2026-10-15 · 8 purchase line(s) · 1 insider(s) · close since that day -5.3%0.502last close16 Oct

Markers sit on the closing price of the transaction day. They show when insiders traded, not the price they paid or received. "Since" compares that day's close with the last close shown; it is what happened at this company, not a forecast.

Insider timeline

3 insiders bought on the same day, 3 Jul: 1 Board member, 1 CEO / chair, 1 CFO. 3 of them bought again later. The share closed at 0.78 that day and at 0.50 most recently (−35.5%). That week 192 companies across Europe disclosed insider purchases, an ordinary week (10 of the last 26).

Several insiders within 15 days: 2026-07-03 – 2026-07-03Filip LundquistFilip LundquistVerkställande direktör (VD)CEO / chairKarl Aron On Mikael KällströmKarl Aron On Mikael KällströmEkonomichef/finanschef/finansdirektörCFOFatih KurtulusFatih KurtulusAnnan ledande befattningshavareRole not classified2026-05-21 · Filip Lundquist · purchase · 86,587 SEK2026-06-01 · Filip Lundquist · purchase · 14,620 SEK2026-06-26 · Filip Lundquist · purchase · 25,981 SEK2026-07-03 · Fatih Kurtulus · purchase · 75,000 SEK2026-07-03 · Filip Lundquist · purchase · 18,538 SEK2026-07-03 · Karl Aron On Mikael Källström · purchase · 150,000 SEK2026-09-08 · Filip Lundquist · purchase · 26,900 SEK2026-10-14 · Fatih Kurtulus · purchase · 205,749 SEK2026-10-14 · Filip Lundquist · purchase · 205,761 SEK2026-10-14 · Karl Aron On Mikael Källström · purchase · 205,749 SEK2026-10-15 · Filip Lundquist · purchase · 61,092 SEK2026-04-20 to 2026-04-26: 136 companies2026-04-27 to 2026-05-03: 203 companies2026-05-04 to 2026-05-10: 241 companies2026-05-11 to 2026-05-17: 211 companies2026-05-18 to 2026-05-24: 244 companies2026-05-25 to 2026-05-31: 237 companies2026-06-01 to 2026-06-07: 243 companies2026-06-08 to 2026-06-14: 237 companies2026-06-15 to 2026-06-21: 211 companies2026-06-22 to 2026-06-28: 185 companies2026-06-29 to 2026-07-05: 192 companies2026-07-06 to 2026-07-12: 160 companies2026-07-13 to 2026-07-19: 181 companies2026-07-20 to 2026-07-26: 167 companies2026-07-27 to 2026-08-02: 160 companies2026-08-03 to 2026-08-09: 152 companies2026-08-10 to 2026-08-16: 164 companies2026-08-17 to 2026-08-23: 194 companies2026-08-24 to 2026-08-30: 182 companies2026-08-31 to 2026-09-06: 188 companies2026-09-07 to 2026-09-13: 178 companies2026-09-14 to 2026-09-20: 173 companies2026-09-21 to 2026-09-27: 179 companies2026-09-28 to 2026-10-04: 183 companies2026-10-05 to 2026-10-11: 166 companies2026-10-12 to 2026-10-18: 138 companiesCompanies disclosing purchases, per weekMayJunJulAugSepOct

Tap an item for what it means.

●A purchase: the bigger the dot, the more was bought

Each dot is one insider's purchases on one day. The dot's area follows the amount: the largest purchase here gets the largest dot. Hold the pointer over a dot to see the date and the amount.

▮Purple band: several insiders bought within 15 days

The band marks the stretch with the most different buyers: at most 15 days long and at least two people. Here it is 3 Jul, with 3 insiders. Only the strongest stretch is marked. Several people deciding the same thing is harder to explain by one person's private reasons, but insiders often buy together just after a closed period ends, so compare it with the grey weekly bars.

Blue line: this share's price, −43.3% over these six months

The closing price of each day, from 0.89 on 2026-04-21 to 0.50 on 2026-10-16. The line has no scale; read it for high and low: a dot on a low stretch was bought cheaply, a dot on a high stretch was not.

Dashed line: the typical stock on the same exchange, −9.2%

Taken from the 457 other stocks on the same exchange that this site holds prices for. Each is measured from the first day of the window, and every day the middle one is drawn. It starts where the blue line starts, so the gap between the two is the difference: this share −43.3%, the typical one −9.2%, 34.1 points behind. It is not an index and not a comparison within one industry.

▂Grey bars: companies across Europe disclosing purchases each week

A taller bar is a week in which more companies disclosed insider purchases. The purple bar is the week of the band above: 192 companies, number 10 of the last 26 weeks. If that week was a peak anyway, buying together is less special than it looks.

This company: insiders buying per month, last 12 months

Nov
Dec
Jan
Feb
Mar
Apr
1May
1Jun
3Jul
Aug
1Sep
3Oct

Darker bars are inside the 180-day window above.

Who traded

InsiderRolePurchasesSalesBoughtFirst purchaseShare price sinceEarlier purchases
Filip LundquistCEO / chair7—439.5k SEK2026-05-21−40.4%6 completed, median −27.0% against peers after 60 sessions
Karl Aron On Mikael KällströmCFO2—355.7k SEK2026-07-03−35.5%fewer than 5 completed
Fatih KurtulusRole not classified2—280.7k SEK2026-07-03−35.5%fewer than 5 completed
Why this score? · Model details

Priority = 100 × Σ(fixed weight × 0–1 rule-based input)

FactorWeightThis company inputPoint contribution
15-day buyer breadth (count)35%0.85029.8
Qualified-buy size25%0.71918.0
Role informativeness (inverted)20%0.0000.0
Recency10%0.8718.7
Buy/sell conviction10%1.00010.0

This is a heuristic ordering under the current rules, not a calibrated return forecast. It explains why candidates rank differently; the public-filing evidence and data limits are shown below.

BULL VS BEAR

Two readings of this buying

The same filings, read two ways. Each line is a fact stored for this company with the number behind it, and appears only when that number crosses a fixed threshold. Neither side is a forecast and no winner is declared.

Since 2026-10-13: new on the bull side: large purchases, bought in the last two weeks; new on the bear side: thinly traded. All bull and bear lists, and what followed each line in the past →

Where the evidence comes from

The two kinds of evidence disagree: the purchases themselves carry bull lines (several insiders together, more buyers than usual here, large purchases, senior executive buying, bought in the last two weeks), while share price and trading argue against (price down over six months, price trails its sector). No data is held for: company actions.

  • The insider purchases themselvesBullseveral insiders together, more buyers than usual here, large purchases, senior executive buying, bought in the last two weeks Bearbuyer's past purchases trailed the benchmark3 checked, under the threshold · 2 missing
  • Share price and tradingBearprice down over six months, price trails its sector, thinly traded
  • Short sellers1 checked, under the threshold
  • Company results1 checked, under the threshold · 1 missing
  • Company actionsno data held

Bull case · the buying is informative

  • 3 insiders bought within 15 days (2026-06-26 to 2026-07-03). Several people reaching the same decision at the same time is hard to put down to one person's circumstances.Record: after 5,401 earlier disclosures like this, the median 60-session excess return was −3.3%, within 1 percentage point of all comparable disclosures (−3.3%).
  • No insider bought in the 180 days before this window; 3 have bought in it. The buying is new for this company, not a habit.Record: after 3,134 earlier disclosures like this, the median 60-session excess return was −2.7%, within 1 percentage point of all comparable disclosures (−2.7%).
  • Net purchases of €66k equal 3.2% of the company's market value (€2.1M): large for the size of the business.
  • The buyers include the CEO or chair, who sees more of the business than most filers. This site's score gives little or no credit for that: in its backtests purchases by senior executives did no better than other insiders' purchases.Record: after 8,797 earlier disclosures like this, the median 60-session excess return was −3.1%, within 1 percentage point of all comparable disclosures (−3.2%).
  • The latest purchase is 2 days old (2026-10-15). The buying is current, not left over from an earlier quarter.

Bear case · discount it

  • Share price and tradingThe share price is down 42% over six months (three months −41%, one month −1.6%) and stands 72% below its 52-week high. Insiders have bought into a fall the market has not reversed.Record (nearest stored case: price 20% or more below its prior 52-week high): after 11,077 earlier disclosures like this, the median 60-session excess return was −3.2%, within 1 percentage point of all comparable disclosures (−2.6%).
  • Share price and tradingOver three months the share price changed −41% and the median of 120 Consumer Defensive companies changed −0.78%: 40 points behind. The market has marked this company down against its own sector.
  • The 6 earlier purchases by Filip Lundquist trailed OMX Stockholm 30 by a median 27% over the following 60 trading days.
  • Share price and tradingAbout €4,376 of the stock changes hands on an average day, below this site's €500k screening line. A position is hard to enter or leave at the quoted price.

Evidence still missing

  • Only one reading of profitability is held (profit margin 3.2%). Whether earnings and cash flow are rising or falling needs the last two reports side by side.
  • European notifications have no field saying whether a purchase was pre-arranged; there is no counterpart to the US 10b5-1 box. None of the 24 purchase lines mentions a plan, but a bare “Förvärv” does not rule one out.
  • The filings give the size of each trade, not what the buyer already held. Whether a purchase added 1% to a personal stake or doubled it is not known.
Checked and under the threshold: 5
  • BearThe largest buyer accounts for 41% of the value bought. Counted for the bear side from 80%.
  • Bear0 of 3 buyers filed as a person closely associated with a manager. Counted for the bear side from half.
  • BearNo insider sale is recorded in the same 180 days.
  • BearThe register of Finansinspektionen shows no published net short position in this company. Positions under 0.5% are never published, so this does not show that nobody is short.
  • BearProfit margin on the latest captured figures is 3.2%. Counted for the bear side when negative.

Both columns arrange stored facts only. They do not change the insider score or the ranking and are not investment advice.

Signal history

66.4 / 100

Latest recorded score

↑ +3.5 ptsversus the comparable snapshot on 2026-09-14 (34 calendar days apart)
Recorded snapshots
35
First snapshot
2026-08-26

Only scores captured when the scoring run completed are compared. These are raw signal scores saved when each full scoring run completed. They describe changes in research ranking, not price performance or returns.

Why did it change?

Decomposition across the five score factors between comparable snapshots; historical scores are not recalculated.

  • Purchase size+1.4 pts
  • Recency+2.1 pts

Signal score history

Fixed 0–100 scale; dates are spaced by calendar time.

02550751002026-08-26 · 56.82026-08-27 · 56.82026-08-28 · 56.32026-08-31 · 56.32026-09-01 · 56.32026-09-02 · 56.32026-09-03 · 56.32026-09-04 · 56.32026-09-07 · 56.22026-09-08 · 66.32026-09-09 · 65.62026-09-10 · 65.02026-09-11 · 64.42026-09-14 · 62.92026-09-23 · 59.82026-09-24 · 59.62026-09-25 · 59.32026-09-28 · 58.82026-09-29 · 58.62026-09-30 · 58.42026-10-01 · 58.32026-10-02 · 58.22026-10-03 · 58.22026-10-04 · 58.22026-10-05 · 57.82026-10-06 · 57.72026-10-07 · 57.62026-10-08 · 57.52026-10-09 · 57.42026-10-12 · 57.22026-10-13 · 57.22026-10-14 · 57.12026-10-15 · 67.72026-10-16 · 67.12026-10-18 · 66.4Aug 26Sep 07Sep 28Oct 07Oct 18

Recent recorded points

  1. 56.8
  2. 56.2
  3. 58.8
  4. 57.6
  5. 66.4
View all recorded scores
Snapshot dateSignal score
2026-08-2656.8
2026-08-2756.8
2026-08-2856.3
2026-08-3156.3
2026-09-0156.3
2026-09-0256.3
2026-09-0356.3
2026-09-0456.3
2026-09-0756.2
2026-09-0866.3
2026-09-0965.6
2026-09-1065.0
2026-09-1164.4
2026-09-1462.9
2026-09-2359.8
2026-09-2459.6
2026-09-2559.3
2026-09-2858.8
2026-09-2958.6
2026-09-3058.4
2026-10-0158.3
2026-10-0258.2
2026-10-0358.2
2026-10-0458.2
2026-10-0557.8
2026-10-0657.7
2026-10-0757.6
2026-10-0857.5
2026-10-0957.4
2026-10-1257.2
2026-10-1357.2
2026-10-1457.1
2026-10-1567.7
2026-10-1667.1
2026-10-1866.4

Sector context

Consumer Defensive

Buying breadth
11.6% (29 / 249 issuers)
Sector rank
#2 / 12
7D breadth change
-1.2 pp · vs 2026-10-12 (6d)
30D breadth change
History building

This is sector-level research context. It does not affect the Insider Signal or ranking.

View Europe sector research →

Insider profile outcomes

Historical performance following insider filings. The company role is translated below each name while preserving the original title.

Events are disclosure-level observations; related disclosures published on the same date may share a return path and may not be statistically independent. This research enrichment does not affect the insider score or ranking.

Filip LundquistVerkställande direktör (VD)7 completed 20D event(s)
PeriodCompleted eventsPrice coverageHit rateMedian excess returnAverage excess returnWorst excess return
5D7Developing evidence100.0% (7/7)42.9% (3/7)-1.4%-1.0%-15.4%
20D7Developing evidence100.0% (7/7)28.6% (2/7)-4.7%-5.6%-20.9%
60D6Developing evidence100.0% (6/6)0.0% (0/6)-27.0%-27.3%-44.8%
120D2Small sample100.0% (2/2)0.0% (0/2)-38.8%-38.8%-65.5%
First purchase in 12M
0/9
Large purchase ≥ €100k
0/9
Cluster buying · 15D
2/9
Buying the dip · ≥20% below prior 52W high
9/9
Routine / opportunistic
Not classifiable
Fatih KurtulusAnnan ledande befattningshavare | Styrelseledamot1 completed 20D event(s)
PeriodCompleted eventsPrice coverageHit rateMedian excess returnAverage excess returnWorst excess return
5D1Small sample100.0% (1/1)100.0% (1/1)+2.1%+2.1%+2.1%
20D1Small sample100.0% (1/1)0.0% (0/1)-4.0%-4.0%-4.0%
60D1Small sample100.0% (1/1)0.0% (0/1)-40.4%-40.4%-40.4%
120D0No dataAwaiting maturity————
First purchase in 12M
1/2
Large purchase ≥ €100k
0/2
Cluster buying · 15D
2/2
Buying the dip · ≥20% below prior 52W high
2/2
Routine / opportunistic
Not classifiable
Karl Aron On Mikael KällströmEkonomichef/finanschef/finansdirektör1 completed 20D event(s)
PeriodCompleted eventsPrice coverageHit rateMedian excess returnAverage excess returnWorst excess return
5D1Small sample100.0% (1/1)100.0% (1/1)+2.1%+2.1%+2.1%
20D1Small sample100.0% (1/1)0.0% (0/1)-4.0%-4.0%-4.0%
60D1Small sample100.0% (1/1)0.0% (0/1)-40.4%-40.4%-40.4%
120D0No dataAwaiting maturity————
First purchase in 12M
1/2
Large purchase ≥ €100k
0/2
Cluster buying · 15D
2/2
Buying the dip · ≥20% below prior 52W high
2/2
Routine / opportunistic
Not classifiable

Market context

PRICE PERFORMANCE

1M
-1.6%
3M
-40.8%
6M
-42.4%
12M
-63.0%

VOLATILITY & LIQUIDITY

Volatility
62.5%
Beta
0.39
Avg daily volume
SEK 43,356.7

VALUATION

Market cap
SEK 23.2M
P/E
—

FUNDAMENTALS

Profit margin
3.2%
ROE
-5.3%
Industry
Beverages - Wineries & Distilleries

Prices to 18 Oct 2026: OpenBB/yfinance; volume from price cache (yfinance). From OpenBB/yfinance, captured 15 Oct 2026: Market cap, Profit margin, ROE, Beta, Industry. It does not affect the insider score or rank.

Disclosed net short positions

The Finansinspektionen register, read 18 Oct 2026, publishes no net short position of 0.5% or more in this issuer. Positions below 0.5% are never published, so this is not evidence that nobody is short.

Short-position disclosures are external context; they do not affect the insider score, ranking, or filing eligibility.

Insiders' buying price vs the latest close

Insiders paid 0.5275 SEK a share on average (24 purchase lines, 3 buyers, 2026-05-21 – 2026-10-15). The close on 2026-10-16 was 4.8% below that price.

The latest purchase (2026-10-15) was at 0.4203 SEK; the close was 19.4% above that price.

Prices paid are weighted by shares and taken from the filings; dividends are not counted. Not scored.

Buying size vs market trading

69.55% · of estimated traded value in the same period

2026-09-21 – 2026-10-16 · 20 recorded trading sessions

Disclosed qualifying purchases
678,351 SEK
Estimated market traded value
975,384 SEK

Market-data coverage: 505 verified sessions · Latest session: 2026-10-16 · Ratio status: Available

Recent and largest purchase events / preceding 60-session ADTV

Traded value is estimated as close × shares traded, in major currency units. Includes disclosed qualifying purchases; disclosures may lag. Contractual or planned acquisitions are not necessarily discretionary. Ratios describe relative trading size, not market participation or score contributions.

Latest news

No news has been captured for this company.

Regulatory filings

The filing records held for this company carry no link to the original notice.

Filing evidence

These are underlying national-feed records from the 365-day window ending on the saved ranking snapshot. The score uses only the latest 180 days; older qualifying equity purchases remain visible for audit but do not enter the current score. The original filer, role, transaction classification, instrument, price, volume, value and source fields are retained. The first three rows are shown; remaining records can be unfolded for audit. Other transaction types are retained but excluded from the score.

Excluded transactions & classification

24 qualifying purchase disclosure(s) · 24 transaction line(s)

Oct 15, 2026Förvärv
Filip Lundquist · Verkställande direktör (VD)
Aktie · 22388.0 shares × 0.418 SEK · —
Oct 15, 2026Förvärv
Filip Lundquist · Verkställande direktör (VD)
Aktie · 23203.0 shares × 0.418 SEK · —
Oct 15, 2026Förvärv
Filip Lundquist · Verkställande direktör (VD)
Aktie · 50804.0 shares × 0.417 SEK · —
Unfold all 21 remaining filing row(s)
Transaction datePublishedFilerRoleTransactionInstrumentPrice (local currency)Quote currencyVolumeSource
2026-10-152026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.417 SEKSEK9693.0—
2026-10-152026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.419 SEKSEK2753.0—
2026-10-152026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.419 SEKSEK14409.0—
2026-10-152026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.419 SEKSEK2649.0—
2026-10-152026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.437 SEKSEK19466.0—
2026-10-142026-10-15Filip LundquistVerkställande direktör (VD)FörvärvAktie0.45 SEKSEK457247.0—
2026-10-142026-10-15Fatih KurtulusAnnan ledande befattningshavareFörvärvAktie0.45 SEKSEK457220.0—
2026-10-142026-10-15Karl Aron On Mikael KällströmEkonomichef/finanschef/finansdirektörFörvärvAktie0.45 SEKSEK457220.0—
2026-09-082026-09-08Filip LundquistVerkställande direktör (VD)FörvärvAktie0.538 SEKSEK50000.0—
2026-07-032026-07-06Karl Aron On Mikael KällströmEkonomichef/finanschef/finansdirektörFörvärvAktie0.75 SEKSEK200000.0—
2026-07-032026-07-05Fatih KurtulusStyrelseledamotFörvärvAktie0.75 SEKSEK100000.0—
2026-07-032026-07-04Filip LundquistVerkställande direktör (VD)FörvärvAktie0.75 SEKSEK24717.0—
2026-06-262026-06-29Filip LundquistVerkställande direktör (VD)FörvärvAktie0.684 SEKSEK37984.0—
2026-06-012026-06-01Filip LundquistVerkställande direktör (VD)FörvärvAktie0.73 SEKSEK10000.0—
2026-06-012026-06-01Filip LundquistVerkställande direktör (VD)FörvärvAktie0.732 SEKSEK10000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie1.025 SEKSEK10000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie1.02 SEKSEK10000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie1.035 SEKSEK20000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie0.905835 SEKSEK20000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie0.878 SEKSEK20000.0—
2026-05-212026-05-22Filip LundquistVerkställande direktör (VD)FörvärvAktie0.976 SEKSEK10000.0—

Showing 24 of 24 matching raw-feed row(s) from the current 365-day research window. Prices and reported values remain in the filing currency and its major unit (for example, UK pence are parsed as GBP). The screen-level € aggregate is separately FX-normalised for research ranking, not a trade-date conversion.

Other disclosed transactions · excluded from score

The underlying filing feed is unavailable in this snapshot; this is not a claim that no filings exist.

Snapshot & identity

Snapshot date
2026-10-18
Ticker
UMIDA-B.ST
ISIN
SE0009190788
Sector
Consumer Defensive
Industry
Beverages—Wineries & Distilleries

Share this page

Save share image

The image states the stored facts and the snapshot date. It is not a recommendation.

Company logos by Parqet