Hub-and-Spoke: Yishun the microcosm

Note: If my mentions of Florida and Ohio are used interchangeably, that’s because Ohio memes are somehow inflating in value real fast as this post got written. Somehow, Florida just got forgotten. And here we are, back at the Town-by-Town series again!

Singapore’s second-most populated town up north is infamous locally for quite a wide variety of things, including but not limited to the endless antics emanating from the place that leave one scratching their heads as to the sanity of the town’s residents. Frequently referred to as our own version of Florida, the source of much memes is also, by coincidence or not, one of the towns with less favourable public transport connections, and pretty horrible traffic in general. Of course, many would say the latter title is better reserved for Punggol and Sengkang, but that’s something for another Town-by-Town post…

Perhaps one would not notice this acutely if they hardly travel to Yishun, or if their trips there hardly, if ever, stray from the area around the MRT track/Service 969’s route. But for those who stay in the parts of Yishun a significant distance from the abovementioned areas, or for various reasons wander deep into “Singapore’s Florida”, they will feel viscerally one aspect of public transport in Yishun that sets it quite apart from many other towns in Singapore.

That over-reliance on feeder services.

Here is the catchment area of trunk and long feeder routes in Yishun.

Notice that a significant portion of Yishun Town is located away from these trunk and long feeder routes, and with the exception of 103 and 860 almost everything is concentrated heavily around Yishun Ave 2. Of course, the two above-mentioned services are also unfortunately those with the worst service levels of all Yishun non-feeder/CDS/express routes, so effectively the network of routes in Yishun where you get decent service levels becomes this:

For some unfathomable reason, I detect far more interconnectivity and network effect between Yishun trunk/long feeder routes outside Yishun than within the town itself, which is quite a distasteful joke considering these routes share in common only their passage through this town up north.

So what about the great majority of Yishun which lies nowhere near Avenues 2 and 5? Unfortunately, this is their only option to get even anywhere by public transport for most of the day:

F for this bus that got thrown to storage, L for the joke of a route it runs on, as well as the overall planning of bus services in Yishun that led to Ah Green coming onto its feeder turf 🙄

That’s right, if you stay in Yishun or plan to visit someone staying there, chances are you’ll very likely have to take a feeder bus to get from your origin/destination to Yishun Central, where you’ll take either a trunk bus or the MRT to get to and fro the town. Put in other words, Yishun is a greatly monocentric town, in terms of its public transport network, a huge nuisance to the dozens upon thousands who call the subject of our memes, home.

If one has read the LTMP 2040 in even just some detail, such an arrangement of the network in Yishun might ring a few bells, especially with regard to one particular term that LTA has been very enthusiastic about, and from their actions in recent years, going into overdrive to implement.

The hub-and-spoke model.

Due to the highly radial nature of the road network in Yishun, its public transport system likewise becomes extremely radial in nature, with almost every bus in Yishun either serving the “Integrated” Transport Hub (AHEM, integrated, right.) or passing Yishun MRT, with the sole exception being 167 and 980 that run on a tangent, bypassing basically the entire town on Sembawang Rd out west.

Without decent bypass routes that pass through the town but not via its center, the first major impact that everyone feels is that snarling traffic along Yishun Ave 2. And unfortunately, thanks to its highly radial nature, buses aren’t spared from this mess simply because of the sheer volume pouring into the bus interchange especially during peak hours where feeder demand is high and trunk demand even higher!

The second, of course, would be the unfortunate reality that much of Yishun is only connected via a feeder bus service:

Oh yeah, did I mention how EVERY trunk in Yishun actually duplicates each other on its way out, with a particularly long shared sector that is hardly seen in other towns? Cue all the 85x routes duplicating each other as far as (!!) Marymount and the number of routes that serve “Sembawang Rd – Yishun Ave 5 – Yishun Ave 2” in exactly this order. With all the extra service you’re providing on these sectors you could have run more service to link more parts of Yishun, but unfortunately the road network said no.

And because of the way the town’s roads are set up, such that the “hub” in practice is actually Yishun Central (the small semicircle wrapping around Yishun Int), with most of the ten “spokes” of the town’s roads converging onto it, thus giving rise to duplication issues among the feeder bus services. I first pointed it out with the examples in Yishun North (i.e. Yishun Ave 7 area where Service 800, 801 and 803 serve) where 801 was pretty much a 803 and 806 duplicate, but as the map above suggests, said duplication is everywhere in Yishun. Two annoying issues with their feeder buses arise directly from this, with more spawning indirectly as a result of them:

A number of Yishun feeders are infamous for their long-winded, loopy routes which serve practically everywhere in the town except your intended destination… until everything else has been exhausted, before it drops off a dizzy you at some bus stop served only by said merry-go-round feeder itself. Three routes in particular are infamous for this, namely Services 807, 811 and 812, all of which regularly consume the bulk of Seletar Depot’s 10 bendy buses.

Honourable mention: Service 800, a route I feel has its purpose mostly served by the long feeder routes plying Yishun Ave 5 for those getting to Chong Pang City. It takes probably twice or thrice as long to reach those regions by 800 compared to the more direct trunk/long feeder buses, since it detours through the ring road in order for it to be fully served by bus.

What’s forcing all these loopy route shapes that are detrimental to service reliability, duplicate other routes and needlessly consuming more resources for demand that isn’t strong enough to support such duplication, most of the day? To put it in short, you can blame the radial nature of the road network in Yishun, which forces planners to invent routes shaped similarly to the Firefox logo:

(If you can’t see the resemblance, think of the fox’s head as the sector along the route that links the centerpoint to the ring road, and it’s long bushy tail as the ring sector.)

In network terms, such routes perform a radial role for a brief sector before transitioning to an orbital role.

It’s supposed to be a unique rendition of the Beijing subway map for research purposes, but you can see examples of “Firefox routes” in cyan and pink.

Of course, this wouldn’t be so terrible if there were robust non-feeder alternatives to feeder routes, but unfortunately this radial + orbital set up does make it an absolute pain for one to create meaningful long feeder routes capable of serving the off-grid elements which exist aplenty in many other towns. For Yishun, with the exception of 860 which detours through half of the ring road before exiting via Sembawang Rd towards Yio Chu Kang, all other long feeders serving it are routed either through Yishun Ave 5 (towards Sembawang) or Yishun Ave 2 towards Canberra in the north. In fact, the awkwardness of Service 860 shows exactly why it is that difficult to create said meaningful alternatives — Yishun is arranged for people to be able to siam out of our edition of Florida/Ohio quickly rather than for intra-town connectivity. Or, for people living away from the town center to be connected more directly to places beyond town boundaries. But the reliance that this arrangement has put on Yishun’s feeder bus network means that this is what is very likely to happen during peak hours at bus stops at HDB doorsteps, awaiting the feeder buses that ply the (unnecessarily) long circuituous routes:

Of course, this happened in the context of an MRT breakdown (bzzt), but the crowding on Yishun feeders is very real nonetheless.

A situation perfect for creating bus operators’ worst nightmare, and a magnet for complaints from angry commuters:

As it turns out, a good number of Yishun feeders with their long loopy routes are prone to bunching, espcially during the peak hours where large crowds at bus stops hold up buses sufficiently long enough for the next bus to catch up, repeating itself and passing the chain down until frequency chasms are opened up, simultaneously causing issues of unbearably long bus intervals for some others. The best part? Bunching in Yishun usually ends up the same way as their counterparts on Toa Payoh feeder 238 does, even at a lower frequency: clumped until the interchange.

Oh look, Service 860 clowning again… *facepalm* And I don’t think 16 minutes for a feeder is desirable either…
Both screenshots taken in 2021, when 860 was still anchored in Yishun.

Not exactly something you would want for the buses that serve your doorstep, but it’s a reality you live with living in Ohio, Singapore.

The other issue here with Yishun feeders is also just how disorganised they can get, making navigation within the town a tad bit harder if you don’t already know the place like the back of your hand. Case in point: for most minor roads in Yishun, different bus numbers call on opposite sides of the road, a result of many feeder routes designed to “loop around a slice of the pie” in Yishun’s road network. If you think of the radial + orbital road system as a pie split into many slices, the feeder routes (especially on the eastern side of Yishun) are designed to loop around a “slice” of Yishun each, forming large one-way circles in a bid to maximise coverage around the town. Of course, if you get lost around the smaller streets the intent is for you to hop on board any of the feeder buses and they’d get you to the town center, exactly as planned for a hub-and-spoke transport system. Is it any surprise then, that one witnesses colossal crowds descending upon the MRT station and trunk routes at Yishun Ave 2, yet simultaneously sees buses virtually empty (yet still bunched) plying the feeder and long feeder routes?

Ironically, the “pie”-shaped layout of Yishun is precisely why APM systems, as a certain diehard fan of its application locally wants to bring to our Ohio so badly, will never be feasible in Yishun. The overly-radial nature of the road network (coupled with the density of the built environment) implies that a hypothetical APM built in Yishun would have to be either one of the following:

  • a monstrosity consisting of 5 loops, each serving two of the 10 “radial” elements in Yishun’s town road network. Will never happen simply because there is no space to fit such Frankenstein-grade infrastructure design** for the hub station near Yishun MRT, unless that specific person wants to bring tunnelling dystopia and further those Ohio vibes by building an underground APM system in Yishun. You could tear up the open space beside Yishun MRT for it, though I doubt it would fly with the residents there.
    • **Even more ironic, to think that specific person was gunning down BRT proposals because “all those viaducts would look dystopian”, yet there he was, unironically suggesting an APM for Yishun, perhaps far worse aesthetically than whatever a BRT could throw up.
  • a simple 2- or 3-loop system that only serves the more important parts of Yishun, thus losing out tremendously on coverage. Doable with the limited space there is, but what’s the point right…

The LTMP 2040 has explicitly stated its goal towards gearing Singapore’s public transport system towards the hub-and-spoke model. Well, a good visualisation of the future is here and exists at scale already today, in Yishun. Is that what we want to see expanded to other parts of Singapore, especially the new activity areas being built up? Maybe not.

A single-corridor town?

Much of non-feeder transport in Yishun is heavily concentrated around two axes: Yishun Ave 2 (which the North South Line also runs along) and Yishun Ave 5. Honourable mention: Sembawang Rd. Unlike most other towns which provide seamless access to elsewhere through multiple corridors that connect to other towns via different routes, there are significantly fewer of such corridors leading out of Yishun. In fact, for the large majority of trips made by the residents of Ohio (SG edition), there is effectively only one corridor that matters: the Lentor Ave path that flows out south from Yishun Ave 2, where journeys are either continued towards the city via the SLE/CTE, the east via TPE, or Ang Mo Kio/Toa Payoh going straight. While there certainly exists a lot of room for improvement when it comes to providing alternatives to the MRT for those residing up north, Yishun being heavily centered around a single corridor greatly limits the options we have to provide service to greater numbers of Yishun residents with the same resources…

What’s the problem with a town being arranged too heavily around a single corridor? Look no further than Saudi Arabia’s LINE.

Not to mention it’s awkwardness when considering travel along the perpendicular axis to which this town is organised. Consider the classic case of travelling between Yishun and Punggol, as shown by Service 39’s route here.

Am I the only one who finds it a little bit awkward for one to have to exit the town of origin (to the south) in order to travel along a corridor perpendicular to the north-south axis Yishun is arranged on, just to wind up to the south of your destination town, when a direct route is theoretically possible based on the surrounding network elements present? Note the eastern leg of Service 39 from Punggol to Pasir Ris, extrapolate this network element backwards and you’d realise it lands you rather neatly in Yishun Central. If only there was a public transport service that would open up such a corridor, not just to provide enhanced service for Yishun East residents (who are currently only offered feeders), but also to give Yishun residents in general quicker access to more parts of Singapore than just those reachable by the NSL.

The trains are few, and crowds are many

Besides the operational need to turn trains around quickly for withdrawal/launching purposes during the peak period, there is one other good reason why SMRT continues to turn trains around at the Yishun siding.

The crowds are just too heavy at Yishun, you need those extra trains desperately.

Visit Yishun MRT (heck, I think even Khatib MRT works) before 8am or around 6pm and be amazed at how unrelenting the crowds are, spawning in endless waves as soon as the previous train departs, filling up the platform at a rapidly consistent rate. Of course, that should be a call for SMRT to actually get its act together and run those 100s headways it promised us years ago, as well as examine what tools we currently already have to potentially pick up some of the slack. (If some higher-ups need ideas, here’s one involving a trunk that closely parallels the NSL…)

This isn’t a Yishun-specific issue, but as anyone living in the north (and north-east!!) will tell you, trying to make a cross-town trip (i.e. a trip between towns that does not involve passing through or near the CBD) by train is a particular pain in the ass. And I speak from experience. Currently, the fastest route from the north to the north-east would be to take the NSL (or TEL) all the way down to Bishan (or Caldecott), pass through two notoriously congested interchanges (Bishan and Serangoon), before taking a packed NEL train up to your destination.

The sheer disparity between the distances you cover to make this trip versus the straight-line distance is yet another unfortunate side effect intended outcome of the hub-and-spoke model that LTA is implementing with great zeal locally. Some may argue the CRL will resolve this in future, but it fundamentally does not change the network structure of the peak-commuter-oriented MRT system, a largely radial one, unlikely to change given the current scope of rail projects in the pipeline.

Thankfully, Yishun does have some rather strong connections to the east and northeast provided by valuable expressway buses linking Yishun to Punggol, Tampines and Changi Airport. However much TTS has destroyed these routes’ frequencies they continue to have better frequency than a LOT of other bus routes out there, at least. Out of necessity, especially Service 969 which sees so much demand it is an ideal candidate for RBRT service.

A sizeable portion of crosstown demand made by rail today on the NSL needlessly takes up the capacity of the 6-car line, as it comes into direct competition with existing demand from the CBD (translation: at Bishan station, huge crowds on the northbound platform watch as already-packed trains arrive) and demand for destinations further down the NSL at Ang Mo Kio. Do note that these demand patterns are not necessarily exclusive to one another, but they do exist in competition nonetheless to crosstown demand on rail.

Solutions to this in terms of rail do exist, to complement (disclaimer! note the word used here, I never said replace, unlike what some might advocate with their quirky number play and stat-twisting) TPE expressway buses, and they have been the subject of much gossip and rumour on forums for the longest time:

Specifically, a “North Coast Line” or in more recent versions, an extension of the CRL Punggol branch from Punggol to Yishun. Together with the Seletar Line (LTA officially calls it the “9th MRT line” in LTMP 2040), they jointly resolve both the capacity issues of the NSL and the access problems of the current radial + orbital set-up, at least for North to East demand patterns. The Seletar Line is indisputably on the drawing boards at Hampshire Road, that’s for sure. And I have no doubt the Yishun-Punggol leg of the CPL is also being considered too, though in what form it materialises in by 2050 it is hard to say. Having both the “North Coast Line” and the Seletar Line together (and not separate, the direction it feels like LTA is taking us toward) also resolves that dilemma about coverage for the future Simpang town, if it ever gets built.

Other trivial stuff

In more mundane matters, Yishun is particularly unfit as a waypoint for cross-border journeys. Quick activity: create a bus route from Yishun to JB with the shortest runtime. You’d be hard pressed to draw a bus route that gets you from Yishun to Woodlands Checkpoint under 30 minutes, once you account for traffic (remember, Singapore cares far too little about buses’ right-of-way compared to say, mainland China) and demand. Considering Yishun is the second-most frequented part of Singapore by Malaysians after Woodlands, not the best state to be in. Again, you can blame the geography, since the routes you drew in the quick activity above most likely are either: (i) copies of Service 858 + 856 / AC7 (right, I shouldn’t have inserted the AC7 bus pic, cognitive framing works wonders), (ii) going via Mandai Rd and BKE, (iii) duplicating the NSL to Marsiling. All of which don’t give you a reasonably straight line.

Going off a tangent, I feel Seletar Depot’s 10 bendies should get redeployed to the other SEDEP trunk routes, be it in Yishun or elsewhere. While they do see use tanking demand on feeder-only sectors during the peak, they’re often seen running empty during other times, a sign that they are better used elsewhere. For a start, bendies on 851, since that sees consistently moderate-to-high demand throughout the day

There are certain important bus routes in Yishun which a significant number of people would have an axe to grind with, especially taking into account their all-day demand. Besides the long feeder 860 (which has less demand, so running worse service seems justifiable), the SBST trunks here that do not belong to Seletar (39, 103 and 117) are indeed quite problematic when it comes to running decent service and providing decent capacity. (117 does fine on the last one). Considering the important roles they play in the north-east side of the network (103 and 117 are lifelines for Seletar Aerospace Park workers, and 39 is the 969 for Punggol and Pasir Ris residents), it is utterly disappointing to witness 20-minute intervals on them… Oh, and don’t get me started about how it’s always a single-decker bus (at least, at least, it’s a KUB, not a Citaro) packed to the brim whenever things go wrong, which is about every day during peak hour.

Besides all the bus connections to the east, Yishun also has a connection to the west (ish), in the form of expressway bus 171 that connects it Bukit Panjang. The terrible irrationalisation that landed it in its pathetic current state aside, it certainly can and will benefit from more DDs being deployed given its high demand as the sole route travelling the full length of Mandai Road and bridging the two “sides” of the Central Catchment in the middle. Capacity issues aside, it’s also unbelievable that travelling from Yishun to Bukit Panjang by 171 takes almost as long as if the journey was done via NSL and the Bukit Panjang APM. A very obvious speed disadvantage is present here, reflective of the many limitations the 60km/h hard limit placed upon all public buses places on its ability to provide fast and convenient service. In fact, given the demand pattern of Service 171 being primarily between the Bukit Panjang and Yishun town centers, I would strongly recommend a direct variant of 171, calling only at Yishun Int, Sembawang Rd and Bukit Panjang station, to be implemented, which could shave up to 20 minutes off travel times for this sector of trips taken alone.

I started off with meme references to the town of the former NSL terminus. Perhaps the “Yishun = Florida/Ohio” statement rings somewhat true even on a transit level, with the kind of planning and disorganisation that went into (especially) the bus services there. Without much of the positive side to boast, yet holes run aplenty when one looks closer. Bus frequencies are rather average, for both trunks and feeders overall (969’s comparatively better frequency is nullified by the subpar performance seen on other trunks like 852, 853 and 855). Much is left to be desired when it comes to building robust alternatives to the NSL that currently is the only “fast” way in and out of the town. (Which is also why Yishun and Sembawang are also the most screwed if the NSL goes down). A microcosm of hub-and-spoke, that’s what Yishun is. And I strongly urge all hub-and-spoke advocates to live in Yishun for a year before considering seriously what they talk about.

To make Yishun a town that is capable of supporting good transit not just to the town center but also to many places beyond its town boundaries, is a challenge that I invite all aspiring urban planners to take upon. May the best ideas prevail 🙂

Tl;dr

Because I know, some of you scrolled all the way down to the bottom expecting something here. So here you go.

  • Yishun is a microcosm of the hub-and-spoke system that LTA pushes for
    • This is particularly evident in the overreliance on feeders that Yishun town has:
      • Because of the “pie-shaped” road network, which makes it unfeasible to thread trunk and long feeder routes through a path other than the main corridors along Yishun Ave 2 and 5…
      • And the same road network also makes APMs there unfeasible XD
    • It creates problems with the bus services there:
      • Duplicative routes since most buses run the same few paths.
      • Long-winded, loopy “Firefox”-shaped routes prone to bunching and typical feeder nonsense.
      • It is just so much harder to create robust alternatives without having to go into duplication mode again
    • Mad respect will be given to whoever manages to solve their way out of this mess.
  • The NSL remains the only rail link to Yishun
    • Look into creating alternatives, both for north-south and east-west travel from Yishun
      • Running the NSL at 100 second intervals!!
      • The North Coast Line (whatever it is eventually called) is a good place to start
      • Or, think about how the trunk buses can also pick up some slack!
  • Yishun is unstrategically positioned for fast travel to Johor (even from a motorist POV)
    • Don’t believe me? Try out that little activity yourself 🙂
  • Redeploy the bendies, because they see better use elsewhere…
  • Speaking of buses, improve the goddamn frequency of certain trunk bus routes, who perform so atrociously bad even at the peak hours, I won’t be the only one puking blood at its sight. Places to start: the Yishun routes which run mainly SBS Transit livery buses. Of course, bus frequency is pretty average for most Yishun bus routes, besides 856 and 969…
  • Given how ulu Yishun is and is perceived as (which feeds those Ohio and Florida memes I guess, and once again blame the geography for it), it wouldn’t be such a bad idea to introduce direct express bus services 🙂
  • Yishun currently has two express services, Service 851e and 854e. Given the limited benefits (be it in terms of access or travel time reduction), one wonders whether these express variants are better off being rapid-stop routes that offer these conveniences to far wider pool of riders throughout the day.

A lot to work on in the coming years, especially when it comes to meeting the needs of the upcoming Yishun East developments, but I’m confident that our microcosm of hub-and-spoke trash doesn’t have to stay this way. That is, provided the residents and relevant grassroots organisations make the effort to fight for better public transit access in their town. Which, considering the very “gung-ho” spirit of the place that gives rise to the memes slandering it, isn’t that high a bar to cross at all!

Let’s see how this place will improve after ten, twenty years.

Hit that subscribe button to stay updated of new content here on STC!

12 thoughts on “Hub-and-Spoke: Yishun the microcosm

    1. Mostly agree with the sentiments here: Hub-and-Spoke has been terrible to Yishun, far more than say Woodlands. I think it would have been much, much better if some of the trunk routes (the ones that are not packed full during peak hours) can be rerouted to serve Yishun Ring Rd & Ave 6, as these are the secondary roads that would benefit from having trunks.

      Existing trunks that pass through Yishun are 39, 85, 103, 117, 167, 169, 171, 851-860, 965, 969, 980. Minus away those only passing along Sembawang Rd, Yishun Ave 2 & 5, that leaves: 103, 117, 169, 853, 860, 965, which is quite pathetic. There’s CDS 663 and 670, but only during peak hours.

      Some ideas I have that can possibly improve the situation are:

      (1) Amend 860 to loop at Canberra MRT, via Yishun Ave 9/6/8 and Canberra Way. Alternative 807. This gives those along Ring Rd an alternative destination, as well as allow some of the industrial workers to go via Canberra MRT instead of all crowding on 811. If bunching is an issue, can also extend to Sembawang Int.

      (2A) Amend 856 (a high frequency route) to divert via Yishun St 71, Ring Rd & Ave 2, thus partly taking over 800’s route. Alternatives 171, 858, 969. Those working at Woodlands Ind estates can use alternative MRT stations at Woodlands North or Sembawang.

      (2B) In conjunction with the above, amend 965 to serve Yishun Ring Rd, Ave 9 & Central (skipping 59091/9), taking over the other half of 800. Then withdraw 800.

      (2C) If neither of the above are feasible (e.g. due to 800 needed for early morning & late night trips), then leave it for now; at most amend 856 to serve St 71 before returning to Ave 5.

      [cont’d]

      Like

      1. (3A) Amend 859 to continue straight across Yishun Central and loop around 812 east’s loop. Alternatives to 812 are 805, 806, and to 859 are 171, 858, 969. A bus stop will be needed opposite BS59159 to facilitate transfer to MRT and other services.

        (3B) Amend both 853 and 855 to 812’s west loop (as they both have DDs and put together, can match the frequency of 812) before returning to Khatib MRT; 855 helps in providing a TEL connection (Lentor) for west Ring Rd residents as well, even if winding. Those needing quicker travel can use another service or NSL, and transfer at Khatib. Withdraw 812. (Though as a result, may need short-trip 855A till Khatib for late nights)

        (3C) Amend 857 to serve Yishun Central 1 to compensate for loss of 853; if it helps, it can further serve St 61 to back-up 859 if there is demand need.

        (4) In time to come when there is demand (esp at Punggol Digital District): Introduce a new, direct Woodlands — Punggol service that roughly goes via Woodlands Ave 5, Sembawang Ave, Canberra Way, Yishun Ave 8/6, and Seletar W/N Link. May possibly merge with 84. This would build the much needed direct Woodlands — Punggol semiexpress link, improve trunk coverage along Ave 6, avoid duplicating other Punggol-bound services (esp 39/117), and most importantly avoid the overcrowded Yishun Central.

        (5) In time to come when demand on 801 improves: Merge 801 & 804 to form a new intra-town (813), with green/white plates; this facilitates ease of intra-town travel around eastern Yishun. To avoid confusion, this service will use the route of 804 between the Int and the junction of Ave 9 / Ring Rd. Nonetheless this will skip Yishun Ave 11; alternatives 103, 806, or walk to BS59631/9.

        With these changes, there are new trunks that now serve western Ring Rd (853/855, possibly 856/965), Ave 9/6 (860, new trunk), and potentially four less routes crowding at Yishun Int/MRT (-800, -812, -859, -860). Newer routes, like amended 860, can use some form of short trunk between Woodlands/Sembawang & YCK/AMK to ensure route reliability while still serving outskirt Yishun (and avoiding the town centre).

        Like

Leave a comment

Design a site like this with WordPress.com
Get started