Website profiles · Technology insights · Alternatives

mahjong4friends.com No paid content found Multilingual

Categories: Other

Play American (NMJL) or Chinese Mahjong for free. No downloads required and full screen. Join a room with friends or play against bots.

Visit website

Updated: 2026-09-28 08:00 Language: English (default) Access: Normal

Profile views 5 Outbound visits 1
Play Mahjong Online Free - American & Chinese Games Full homepage screenshot

Related questions

More questions →
Cascadeur Free vs Paid Plans: What You Get and When to Upgrade

Cascadeur's site offers a free way to try the software and links to paid plans, but the public page does not spell out exactly what the free tier includes or where its limits sit. What it does confirm is the feature set — AI-assisted keyframe animation, AutoPosing, AutoPhysics, Ragdoll, Inbetweening, AI motion generation, rigging, retargeting, and UE Live Link — plus file compatibility with .FBX, .DAE, .GLB/.GLTF, and .USD. If you need a definitive free-vs-paid breakdown, treat the Plans page and the trial start as the two places to check, because the homepage itself doesn't publish export limits, watermark rules, or commercial-use terms.

What the public page actually tells you

The homepage positions Cascadeur as "the easiest way to animate" and invites you to "Try for free" or "Watch demo." It lists these capabilities without marking any as paid-only:

  • Inbetweening — AI interpolation that generates motion between keyframes
  • Ragdoll — procedural reactions to impacts, falls, and collisions
  • AutoPosing — get natural poses by moving fewer control points
  • Quadrupeds — rigging, AutoPosing, and one-click retargeting for four-legged animals
  • AI Motion Generation — running, jumping, combat, acrobatics, idles, and more
  • AutoPhysics — a character double showing a physically accurate result, for tuning secondary motion and inertia
  • Rigging — drag-and-drop joints to auto-generate a rig for humanoids and quadrupeds
  • Retargeting — copy/paste animation between characters regardless of skeleton or proportions
  • UE Live Link — stream animation to Unreal Engine with real-time updates

It also names the solution areas: mocap cleanup, previz, animation editing, AI, video games, prototyping, and markerless mocap. Mocap cleanup is described as fixing foot sliding, knee pops, geometry penetration, poses via AutoPosing, weight via AutoPhysics, and edits via Animation Layers.

None of this is labeled "free" or "paid" on the page, so don't assume the list equals the free tier.

The two "free" paths are different things

The page shows two separate entry points, and mixing them up is the most common source of confusion:

Entry point What it is What to expect
"Try for free" A trial-style access route Time-limited or feature-limited evaluation; check the Plans page for terms
A long-term free tier A persistent no-cost version Not described on the homepage; verify on the Plans page

The trial link points to cascadeur.com/plans#trial, which means trial terms live on the pricing page, not the homepage. If your decision depends on whether you can keep using it indefinitely at no cost, that answer has to come from the Plans page — the homepage doesn't provide it.

When the free route is likely enough

Based on the feature list alone, a free or trial route is worth starting with if you are:

  • Learning the workflow — testing AutoPosing and Inbetweening on a simple humanoid before committing
  • Evaluating mocap cleanup — checking whether the foot-sliding and knee-pop fixes fit your pipeline
  • Prototyping — blocking previz or game animation without a production deadline
  • Testing file compatibility — confirming your .FBX, .DAE, .GLB/.GLTF, or .USD assets import cleanly

When upgrading becomes the real question

Upgrade pressure usually comes from constraints the homepage doesn't state, so verify each against the Plans page before paying:

  1. Export restrictions — if the free tier limits resolution, format, or adds a watermark, that alone can force an upgrade for client work.
  2. Commercial use — confirm whether free-tier output can be used in shipped products. The page doesn't say.
  3. Team or pipeline needs — UE Live Link and retargeting matter more in production; check whether they're gated.
  4. Volume of work — a single test animation and a full game's combat set have very different tolerance for limits.

A concrete example: if you're cleaning up a markerless mocap take for a game prototype and the free route lets you fix foot sliding and apply AutoPhysics, you may never need to pay. If you're delivering that animation into a commercial build and the free tier restricts export or licensing, the upgrade decision is made for you by the terms, not the feature list.

How to decide without guessing

  1. Open the Plans page and read the actual tier comparison — this is the only authoritative source in the material provided.
  2. Start the trial and test the specific features your project needs: AutoPosing, AutoPhysics, Ragdoll, Inbetweening, retargeting, and UE Live Link.
  3. Test an export end-to-end with your real file format (.FBX, .DAE, .GLB/.GLTF, or .USD) and inspect the output for watermarks or quality loss.
  4. Check the commercial-use terms in writing before shipping anything.
  5. Only then compare cost against the limits you actually hit.

The homepage is useful for understanding what Cascadeur does — AI-assisted keyframe animation for character work, mocap cleanup, and game pipelines. It is not a pricing document. For the free-vs-paid question specifically, the Plans page is the answer, and the trial is how you verify it against your own project.

What Railway Carriage and Coach Research Material Does the HMRS Hold for British Railways?

The HMRS (Historical Model Railway Society) is the senior society in Britain for collecting and exchanging information about the railways of the British Isles, and its carriage and coach collections are among the most useful resources available to both historians and modellers. In practice, the society holds a mix of original and copied drawings, photographs, official documents, and published material covering carriage and coach design from the pre-grouping era through to British Railways. The exact holdings for any given vehicle vary, so the reliable approach is to search the catalogue, then confirm details with the archive team before travelling or commissioning work.

What kinds of material the HMRS holds

The collections relevant to carriages and coaches generally fall into four groups:

  • Drawings. General arrangement and detail drawings for carriage bodies, underframes, bogies, interiors, and fittings. These are the most valuable source for accurate modelling because they show dimensions, panel layouts, and component positions.
  • Photographs. Images of individual vehicles, complete trains, and works views. Photographs help confirm livery, lettering, roof detail, and modifications over time.
  • Official documents. Diagram books, carriage registers, lot and order information, and specification material. These establish which vehicles existed, when they were built, and how they changed.
  • Published and secondary material. Society journals, articles, and reference works that interpret the primary sources and often save hours of original research.

How coverage differs by era

Era Typical material Research implication
Pre-grouping (before 1923) Company drawings, diagrams, photographs, some registers Coverage is uneven; smaller companies may be thinly documented
Grouping (1923–1947) LMS, LNER, GWR, SR drawings and documents Generally stronger, with standardised diagram books
British Railways (1948 onwards) BR diagrams, drawings, photographs, departmental records Good for standard designs; early BR and departmental stock can be patchier

This pattern matters because a pre-grouping vehicle may require cross-referencing several small collections, while a BR standard coach can often be documented from a single diagram series.

Practical steps to find information on a specific carriage

  1. Identify the vehicle precisely. Note the company or region, diagram or lot number, build date, and any running numbers. A diagram number is the single most useful search key.
  2. Search the catalogue first. Use the society's online catalogue or index to see whether drawings, photographs, or documents are listed for that diagram or number.
  3. Check the era and series. If the diagram is not listed, search the surrounding diagram range; related vehicles often share drawings.
  4. Contact the archive team. Enquiry services can confirm what exists, whether a drawing covers the variant you need, and what copying or access options apply.
  5. Plan access. If you need to consult originals, ask about visiting arrangements and any conditions in advance rather than assuming availability.
  6. Record your sources. Note drawing numbers, document references, and image captions so your research or model can be verified later.

Using the material for modelling and academic work

For modellers, the priority is usually a general arrangement drawing plus photographs of the same diagram. Check the drawing's revision date, because carriages were often altered during their working lives, and a drawing may show the as-built condition rather than the period you are modelling. For historians, the combination of diagram books and carriage registers allows you to trace construction, allocation, and withdrawal, while photographs provide evidence of livery and detail changes that official documents may not record.

A useful working method is to build a small file per vehicle: one drawing reference, two or three dated photographs, and the relevant diagram or register entry. This makes inconsistencies visible early, before you commit to a model or a written conclusion.

Access and enquiry options

The HMRS provides access through its archive and enquiry services, its publications, and its journal. Because arrangements, copying services, and any charges can change, treat the website and the archive team as the authoritative source for current access conditions. If you are unsure whether a drawing exists, a short, specific enquiry naming the diagram, lot, or running number will usually get a more useful answer than a broad request.

In short, the HMRS is a strong starting point for British carriage and coach research, particularly where drawings and diagram books survive. The key is to search by diagram or lot number, confirm holdings with the archive before relying on them, and combine drawings with photographs and official records to get an accurate picture of any vehicle.

Mahjong: What It Is and How to Play

Mahjong is two different games sharing one name. If you want a quick, solo browser game, you mean mahjong solitaire — a tile-matching puzzle where you clear a stacked layout by pairing identical tiles. If you want the classic table game, you mean traditional mahjong — a four-player game of drawing and discarding tiles to build winning hands. Both are available to play free online at 247 Games, which lists Mahjong among its game categories alongside Solitaire, Sudoku, and FreeCell.

The two games behind the name

Mahjong solitaire Traditional mahjong
Players One Usually four
Goal Remove every tile from the layout Complete a valid winning hand before opponents
Core action Match identical free tiles Draw, discard, and claim tiles to form sets
Luck vs. skill Mostly puzzle-solving, some layout luck Mixed: tile draws plus reading opponents
Typical session A few minutes to one sitting Multiple rounds per game

Knowing which one you want saves time, because the rules and skills barely overlap.

Mahjong solitaire: how to start playing

This is the version most people meet first online. The goal is simple: clear the board by removing tiles in identical pairs.

The basic flow

  1. Look at the layout. Tiles are stacked in layers, often in a turtle or pyramid shape. Only some tiles are available at any moment.
  2. Find a "free" tile. A tile is free when nothing rests on top of it and at least one of its long sides is open — not blocked by a neighboring tile.
  3. Match it with an identical free tile. Pairs are usually exact matches (two identical tiles), though some layouts use matching categories instead.
  4. Remove the pair. The two tiles disappear, which can free up tiles underneath.
  5. Repeat until the board is empty — or you get stuck.

What to watch for

  • Free tiles only. A tile buried under others or boxed in on both sides can't be selected, even if its match is visible.
  • Order matters. Removing a pair in one order can open the board; the same pairs in another order can dead-end you.
  • Plan a few moves ahead. When several matches are available, prefer the one that unlocks the most new tiles.
  • Stuck is normal. Many layouts can become unsolvable partway through. Restarting or using a hint is part of the game, not a failure.

Verify you're playing correctly

If tiles won't select, check whether the tile is actually free — that's the most common confusion. If the board clears, you've won. If no legal pairs remain and tiles are left, the layout is blocked and you'll need to restart or reshuffle.

Traditional mahjong: the goal and structure

Traditional mahjong is a rummy-like game for a table of players. The exact tile set and scoring vary by region, but the shared structure is consistent.

The goal

Build a complete hand — typically four sets plus a pair. A set is either three or four identical tiles, or three consecutive tiles of the same suit. The pair is two identical tiles. First player to complete a valid hand and declare it wins the round.

The basic flow

  1. Set up. Tiles are shuffled and each player builds a wall or receives a starting hand, depending on the variant.
  2. Take turns. On your turn you draw a tile, then discard one.
  3. Form sets. You keep tiles that build toward your sets and pair, and discard the rest.
  4. Claim discards (in many variants). You can take a tile another player discards if it completes a set, which speeds up your hand.
  5. Declare a win. When your hand is complete, you reveal it. Scoring and payment follow the variant's rules.

Common tile types

  • Suits — three numbered suits (often called characters, bamboo, and dots), each running 1 through 9 in four copies.
  • Honor tiles — winds and dragons, which can't form runs but can form identical sets.
  • Bonus tiles — flowers and seasons in many sets, handled by special rules.

Because regional rules differ, learn the specific variant your group or app uses before your first game.

Which one should you play?

  • Choose mahjong solitaire if you want a solo, low-pressure puzzle you can finish in one sitting and play in a browser without learning complex rules.
  • Choose traditional mahjong if you want a social, strategic table game and are willing to learn a rule set and play with others.

You don't have to pick permanently — the two scratch different itches, and both are easy to try.

Where to play free mahjong online

247 Games hosts a Mahjong category as part of its free online game lineup, which also includes Solitaire, FreeCell, Hearts, Spades, and other card and classic games. The site describes its games as playable anywhere, any time, and on any device. Start with the Mahjong category to find the tile-matching version, and check the site's other categories if you want to branch into card games afterward.

How Multiplayer Works in Code Breaker's Mastermind-Style Game

Code Breaker is an online Mastermind-style logic game where you crack a hidden colour code using deduction and feedback. The site describes it as a single-player puzzle with a Top 10 Players list, and the available page evidence does not document a live two-player or head-to-head multiplayer mode. So if you are looking for "multiplayer" here, the practical answer is: treat it as you against the game's secret code, with the shared leaderboard as the competitive layer. The steps below cover how that works, how to set a code for someone else to try, and what to check if a session will not start.

What "multiplayer" means in Code Breaker

Interpretation Supported by the site? What it looks like in practice
Two players on one device, taking turns Not documented You would need to pass the device and agree on a secret code manually
Online matchmaking against another player Not documented No lobby, invite, or room system is described
You vs. the computer's hidden code Yes — this is the core game You make guesses, the game returns feedback until the code is cracked
Competition via a shared scoreboard Yes — the Top 10 Players list Your result is compared with other players' results over time

The site's own description — "the classic game of logic and deduction. Can you crack the code?" — frames the challenge as solver versus code, not solver versus solver. The Top 10 Players list is the only competitive element named in the source material.

How a round actually plays out

The game follows standard Mastermind rules:

  1. A secret code of coloured pegs is set (by the game, or by a friend if you are playing a manual two-player variant).
  2. The code breaker makes a guess by placing a row of coloured pegs.
  3. The game returns feedback, usually as black and white pegs:
    • Black peg — correct colour in the correct position.
    • White peg — correct colour in the wrong position.
  4. You use that feedback to narrow down the possibilities and guess again.
  5. You win by matching the code exactly within the allowed number of turns; you lose if you run out of guesses.

If you want to play against another person without an online mode, the workable approach is a shared screen: one player sets a code and keeps it hidden, the other guesses, and you swap roles after each round. The feedback logic stays the same — the person who set the code gives the black and white peg counts.

Setting up a code for an opponent

Because the site does not document an opponent-invite flow, setting a code for someone else is a manual arrangement:

  • Agree on the number of pegs in the code and the number of colours in play before you start.
  • The code setter writes the code down or memorises it and does not reveal it.
  • After each guess, the setter calculates black and white pegs and reports only the counts, never which peg is which.
  • Track turns so both players get the same number of attempts.

Winning, losing, and scores

  • Win condition: the guessed row matches the secret code exactly.
  • Lose condition: you exhaust your allowed guesses without matching the code.
  • Scoring: the site maintains a Master CodeBreaker Top 10 Players list, so results feed into a public ranking rather than a private match score.

If a multiplayer game won't start

Since no online multiplayer session is documented, most "it won't connect" problems come from expecting a feature that is not described. Check these in order:

  • Confirm you are on the correct game page and that the game itself loads and accepts guesses.
  • If you are attempting a two-player variant, confirm both players agree on code length and colour set — mismatched rules cause confusing feedback.
  • If you expected an invite or lobby, note that none is listed in the site's description; use the shared-screen method instead.
  • If the page will not load at all, that is a site or connection issue, not a multiplayer setup issue.

Bottom line

Code Breaker is a solo deduction game with a public Top 10 leaderboard, not a documented online multiplayer title. Play it as you versus the hidden code, and if you want a head-to-head game, run it manually with a friend on one screen using the same black-and-white peg feedback.

What Is O’so Brewing Company and What Can You Expect When You Visit?

O’so Brewing Company is a craft brewery and taproom in Plover, Wisconsin, serving Central Wisconsin since 2007. If you’re deciding whether it’s worth a stop, the short answer is: go if you want a lively taproom with craft beer, pizza, and events rather than a quiet, formal tasting room. The sections below cover what it offers, what the vibe is like, and what to check before you drive out.

Where It Is and What It Is

O’so Brewing Company is based in Plover, WI, and operates as both a production craft brewery and a taproom. That combination matters: a taproom attached to a working brewery usually means fresher pours and a wider range of experimental or limited releases than a bar that just carries the brand.

Its self-description centers on three things — craft beer, pizza, and events — in a lively taproom setting. It has been operating since 2007, which puts it among the longer-running craft operations in the region.

The Beer

As a craft brewery, O’so’s core draw is its own beer lineup rather than a broad guest-tap selection. Expect the taproom to pour the brewery’s own styles, typically spanning a range from approachable everyday beers to more assertive or experimental releases.

A few practical points for planning:

  • Rotating taps. Brewery taprooms generally change what’s on draft as seasonals and one-offs come and go, so a specific beer you read about may not be available on your visit.
  • Try a flight first. If you’re new to the brewery, a sampler lets you cover several styles before committing to a full pour.
  • Take some home. Breweries of this type commonly sell packaged beer to go, which is useful if a draft you like isn’t something you’ll find locally.

Food: Pizza and the Taproom Menu

Pizza is part of the stated offering, which makes O’so a “stay a while” destination rather than a quick drink stop — you can pair beers with food on site instead of planning a separate meal. Because taproom kitchens often run limited or changing menus, it’s worth confirming current food hours if pizza is the main reason for your visit.

Atmosphere and Events

The taproom is described as lively, and events are part of the regular programming. That shapes who the space suits:

If you want… O’so is a good fit
A casual group outing with beer and pizza Yes
A lively room with something going on Yes
A quiet, intimate tasting experience Probably not the best match
A brewery stop as part of a Central Wisconsin day out Yes

Events at brewery taprooms typically include things like live music, release days, or community gatherings. Since schedules change, check the brewery’s own channels for what’s happening during your dates — an event night can mean a fuller, more energetic room, and sometimes a busier parking situation.

Before You Go: What to Confirm

A few details are worth verifying directly, because they change and aren’t fixed by the description above:

  • Hours, especially if you’re traveling a distance or arriving near the end of the day.
  • Food service times, in case the kitchen closes earlier than the taproom.
  • Event schedule, if you’d rather avoid or specifically catch a crowd.
  • To-go availability, if you’re hoping to bring beer home.

Who Should Visit

O’so Brewing Company suits craft beer drinkers in and around Central Wisconsin who want a working brewery’s own beer, food on site, and a social atmosphere. It’s a reasonable stop for a group, a casual date, or part of a brewery-focused afternoon. If your priority is a hushed, seated tasting with guided flights, temper expectations — the appeal here is the lively taproom experience, not formality.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality. Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

Registered in 2020, this domain has about 6 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Cloudflare, Inc., a widely used domain service provider. The domain uses the common .com extension, which is not an independent safety signal.

DNS and Email

The lowest TTL is 11 seconds, supporting rapid record changes at the cost of more frequent lookups. Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Google Workspace email service. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Amazon cloud or CDN ecosystem. The certificate is valid for about 197 days in total, with 133 days remaining.

HTTP and Browser Security

The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The x-cache, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. Cookie security attributes are unknown.

Technology Stack Analysis

The public page identifies Amazon CloudFront without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

Open Graph is partially configured; og:type is missing. Twitter Card metadata is configured. The page declares 9 language or regional alternatives using hreflang. The title has 51 characters, within a common display range. A meta description is present, with 135 characters.

Hosting and Email

DNSCloudflare
HostingAmazon CloudFront
EmailGoogle Workspace
Location United States flagSeattle, Washington, United States 18.160.18.37

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionPlay American (NMJL) or Chinese Mahjong for free. No downloads required and full screen. Join a room with friends or play against bots.
Canonical URLhttps://mahjong4friends.com/
LanguageEnglish (default) · Multilingual
Twitter Cardsummary_large_image
All bots 1 allowed · 0 disallowed
  • Allow/

Registration details RDAP / WHOIS

RegistrarCloudflare, Inc.
Registered2020-07-17
Expires2029-07-17
Domain statusclient transfer prohibited
Nameservershadlee.ns.cloudflare.com、kareem.ns.cloudflare.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
Amahjong4friends.com18.160.18.3743—
Amahjong4friends.com18.160.18.5243—
Amahjong4friends.com18.160.18.5643—
Amahjong4friends.com18.160.18.5843—
AAAAmahjong4friends.com2600:9000:250b:1200:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:1600:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:1c00:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:3c00:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:6400:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:7a00:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:d000:1e:edcc:4ec0:93a111—
AAAAmahjong4friends.com2600:9000:250b:dc00:1e:edcc:4ec0:93a111—
MXmahjong4friends.comaspmx.l.google.com36001
MXmahjong4friends.comalt1.aspmx.l.google.com36005
MXmahjong4friends.comalt2.aspmx.l.google.com36005
MXmahjong4friends.comalt3.aspmx.l.google.com360010
MXmahjong4friends.comalt4.aspmx.l.google.com360010
NSmahjong4friends.comhadlee.ns.cloudflare.com86400—
NSmahjong4friends.comkareem.ns.cloudflare.com86400—
TXTmahjong4friends.comfirebase=mahjong-4-friends300—
TXTmahjong4friends.comgoogle-site-verification=DffUfY7BHypKxPbP-I2qexYVf7Z2WDuOsY2afj6QIPY300—
TXTmahjong4friends.comgoogle-site-verification=YVuL1ZkEo7k9N-g3jePexpp2IVMmMEmoSYRt3V6TF1Q300—
TXTmahjong4friends.comgoogle-site-verification=yBEg9tpleZRZEFOaViDlFR-p2RK6t3X1LO238Ia1Zus300—
TXTmahjong4friends.comv=spf1 include:_spf.firebasemail.com ~all300—
CAAmahjong4friends.com0 issue "amazon.com"300—
CAAmahjong4friends.com0 issue "comodoca.com"300—
CAAmahjong4friends.com0 issue "digicert.com; cansignhttpexchanges=yes"300—
CAAmahjong4friends.com0 issue "letsencrypt.org"300—
CAAmahjong4friends.com0 issue "pki.goog; cansignhttpexchanges=yes"300—
CAAmahjong4friends.com0 issue "ssl.com"300—
CAAmahjong4friends.com0 issuewild "amazon.com"300—
CAAmahjong4friends.com0 issuewild "comodoca.com"300—
CAAmahjong4friends.com0 issuewild "digicert.com; cansignhttpexchanges=yes"300—
CAAmahjong4friends.com0 issuewild "letsencrypt.org"300—
CAAmahjong4friends.com0 issuewild "pki.goog; cansignhttpexchanges=yes"300—
CAAmahjong4friends.com0 issuewild "ssl.com"300—
DMARC_dmarc.mahjong4friends.comv=DMARC1; p=reject; rua=mailto:[email protected]300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectmahjong4friends.com
IssuerAmazon
Valid until2027-02-08T23:59 · Remaining when checked: 133 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html; charset=utf-8
cache-controlno-cache
set-cookieRedacted

Identified technologies

Amazon CloudFront