Page tree
Skip to end of metadata
Go to start of metadata

Meet striated heron, the fisherman bird! Equipped with a natural fishing rod (a long extensible neck) and bait (sometimes), this patient bird is commonly seen on Singapore beaches, canals, ponds and lakes waiting patiently for fishes1 . Below is a video of the ‘fisherman behaviour’ of the striated heron!

Video credit: Richard White (Permission Pending)

1. Common misconceptions

a) “It’s a duck!” “It’s a crane!” 

While the striated heron is found near waterbodies, it is NOT a duck nor crane. However, the striated heron is closely related to a bunch of other water birds with long necks called herons and egrets. 

Photo credit: Richard Bartz (Creative Commons). Photo credit: J.M. Crag (Creative Commons)

What it is

Photo credit: Puffin man (Permission pending)

b) “It has a short neck.”
Most of the time, the neck of the striated heron is retracted and looks short. However, this bird is capable of stretching its neck to extreme lengths.


Photo credit: Meng Kuang Han (Permission granted)

c) “They have it in the North too!”
The northern hemisphere has a bird that looks exactly like the striated heron EXCEPT with a red neck. The “red-necked striated heron” was once considered to be the same species as the striated heron. Today, the northern “red-necked striated heron” is now known as green heron, Butorides virescens – a completely different species
2 . For more information on the split, click here!

Photo credit: JJ Harrison (Creative commons). Photo credit: Gerry Herd (Permission pending).

2. Diagnostics

a) Diagnostics (General)

Photo credit: Eng Chuan Goh (Permission pending)

1. Dark bill: Upper bill brown-black and lower bill dusky green
2. Lore: Dull yellow green with black portions
3. Iris: Orange-yellow, deep orange in courtship
4. Crown: Glossy green-black
5. Chin and throat: White
6. Under eye from bill: Dark line
7. Breast: Light grey
8. Crest: Erectile, same colour as crown
9. Back: Dark grey, green cast, longer feathers near tail
10. Flight feathers: Black with buff edges
11. Legs: Glossy orange in courtship. Olive grey and yellow green otherwise

b) Diagnostics (Bird-in-Flight)

Photo credit: Jem Babbington. (Permission pending)

1. Retracted head
2. Obvious yellow soles and hind tarsus
3. Rapid deliberate beats using round wings
4. Low flying

c) Diagnostics (Comparison with other small herons found in Singapore)

Common nameStriated HeronBlack-crowned night heronMalayan night heron
Species nameButorides striataNycticorax nycticoraxGorsachius melanolophus
Photo comparison
Photo credit: Francis Yap (Permission granted)
Photo credit: Francis Yap (Permission granted)
Photo credit: Alan Ng (Permission granted)
Nape plumes (Feather from neck)Long black nape plumesWhitish nape plumesLong black plume on crest (Compare to nape plumes)
BillBlack bill with yellow baseBlack billDark brown upper bill, greenish lower bill
PlumageSlaty gray plumageGray-white plumageBrown plumage with white belly and flank

d) Diagnostics (Comparison between juveniles)6

Common nameStriated heron (juvenile)Black-crowned night heron
Species nameButorides striataNycticorax nycticorax
Photo comparison
Photo credit: Zahidi Hamid (Permission granted)
Photo credit: Francis Yap (Permission granted)
PlumageDarker brownDuller brown
CrownDarker brown than general plumageAlmost similar to plumage colour
BillLonger and slimmerShorter and more stout

3. Distribution and range

Global distribution and range of striated heron. Photo credit: eBird (Fair use)7

The continental range of striated heron includes South America, Africa, Asia and Australia where mangroves and swamps are relatively abundant
8 . As aforementioned, striated herons and green herons have been split. This distribution data accounts for the post-split.

Singapore sightings
♦Striated herons are one of the most common small herons in Singapore
♦It is spotted near any substantial water body in Singapore
♦Striated heron hotspots: Sungei Buloh Wetland Reserve, Kranji Marshland, Marina Barrage, Gardens by the Bay, Seletar Dam and Lorong Halus

Where to find
1. In and under bushes next to pools and watercourses
2. Marshland or similar open areas

4. Biology

From cradle to grave, this section looks at the life cycle and biology of the striated heron in three parts:
(a) Courtship and nesting
(b) Egg and chicks
(c) Matured individual’s behaviour

(a) Courtship and nesting

During courtship, striated herons pairs are known to exhibit several behaviours which include♦ circle/pursuit flights
♦ crest raising by male
♦ calls such as “skow” by males and “coos” by females
♦ snap & stretch and side-side sway paired displays
10 .

Crest raising. Photo credit: Amar-Singh (Permission pending)

If successful, both male and female will construct the nest together. Nesting usually happens in pair but sometimes nesting family groups are seen. During nesting, both parents are known to protect the nest. When threatened, the parents warn the aggressors by making alarm calls with extended neck, erected crest and raised body feathers11 . The chance of successful nesting is only 39%. This is due to climacteric factors such as storms and high tides or predation of eggs and juveniles12 .

Nesting of striated heron. Video credit: sunch 28 (Creative commons)

b) Eggs and chicks

Upon completion of nests, 2-5 pale green-blue eggs are laid, and incubated by both male and female adult herons. The eggs are incubated for around 22 days before hatching while the whole hatching process takes about 3-4 days. Striated heron eggs are also known to hatch asynchronously – each hatching at a separate time. The chicks hatched are semi-altricial (Semi-dependent on parents) but it takes only one week for the chicks to become precocial (Independent). After a mere 14 days, chicks are seen leaving their nests10 .
Both the eggs and juveniles are threatened by predation from the following
11 :♦Crows (Corvus sp.)
Water dragon (Varanus sp.)
Grey shrike-thrushes (Colluricincla harmonica)
White-bellied sea eagle (Haliaeetus leucogaster)

The pictures below offers a quick summary on the characteristics of eggs and chicks.
Photo credit: Didier Descouens (Creative commons). Photo credit: Geoff Hutchinson (Permission pending)


Photo credit: Didier Descouens (Creative commons). Photo credit: Geoff Hutchinson (Permission pending)

c) Matured individual’s behaviours

Matured individuals of striated herons are solitary (lonely). They are known to roost and forage alone11 . That aside, perhaps the most well-known behaviour of striated herons is related to their feeding habits.

i) Foraging behaviour
Striated herons employ a variety of foraging methods which includes standing, baiting and walking. The strictly carnivorous diet of striated herons consists of mainly fishes. Other food includes amphibians, spiders, leeches, crustaceansmolluscs, earthworms, polychaete worms, birds, small reptiles and mice
13 .

The most common strategy employed is standing where the striated herons stands in a crouched waiting position next to or near shallow waters. While waiting, the body is held parallel to the water and maintained for 29-42 minutes before executing a successful strike. The strike involves extending its neck and lunging its head into the water to snare prey
10 .

Waiting position. Photo credit: Vincent Ong (Permission Pending)

Extended neck and head lunging. Photo credit: Meng Kuang Han (Permission granted)

To improve their chances of snagging a prey, baiting is sometimes employed. Striated herons are known to use plant matter, captured insects, or even, leftover waste scraps to bait their prey. This mode of foraging is also seen in several members of the Ardeidae (heron) family – including the green heron sister species1

Here’s another video of the baiting behaviour of striated herons! This time with a catch :)

Video credit: nickhassanali (Permission pending)

The less common hunting strategy of walk-fishing is sometimes employed. This strategy, although less intriguing, is therapeutic to watch. The walking speed of striated herons when hunting are known to be very slow. A published article has shown that it takes 30 seconds for an individual to just lift up a leg10

ii) Other behaviours

ThreatenedWhen threatened, the striated heron either remains motionless and slowly turns its face towards the intruder or it clambers out of the nest to climb onto a branch or leap into mud/water11
Not a vocal bird, striated herons rarely call. More common events for calling include
♦Courtship (utter sneezing “tch-ahh” and explosive “hoo”)
♦Startled (“kew kew chit chit kew”)
♦Flight (chuckling)

How does a striated heron sound like? (Voice recording of flight call)
Recording credit: Frank Lambert (Creative commons)

5. Status and conservation

Photo credit: IUCN Red List of Threatened Species (Free use)

Not a threatened bird in the world, the large range, large population and slow population decline have placed striated herons under the “Least Concern” category in IUCN.

However, striated herons still suffer from anthropogenic threats such as human disturbance, pesticides and habitat destruction. In some countries, the striated herons are consumed as food15 .

6. Taxonomy and systematic

a) Taxonavigation:
Kingdom: Animalia
Phylum: Chordata
Class: Aves
Order: Pelicaniformes
Family: Ardeidae
GenusButorides Blyth, 1852
SpeciesButorides striata (Linneaus, 1758)

*Disclaimer: While ranks (eg. Kingdom, Phylum) are not informative, Taxon names (Animalia, Chordata) provide us with information on the characteristics of the species nested within. The usage of ranks is strictly for convenience.

b) Nomenclature
i) Original description
B. striata was first described by Linneaus in 1758 under Ardea striata16 . The text is given below:

Original description by Linneaus. Retrieved from Smithsonian (Fair use)

The Latin text briefly translates to:
“Back gray-striped, ferruginous under the neck, apex of secondary remiges white”
Another subspecies was described in the same page which translates to:
“Remiges dark tans, but secondarily margin white tips”

ii) Protonyms, synonyms and common names
♦Protonym17 :
Ardea striata Linneaus, 1758

♦Synonyms18 :
Ardea striatus (Linneaus, 1758)
Butorides striatus (Linneaus, 1758)

♦Common names19 :
Striated Heron, Little Heron, Green-backed Heron, Mangrove Heron

iii) Etymology (Origin of words)
Species epithet, striatus, refers to the streak plumage of immatures11 .
For the same reason, its common name “striated heron” has widespread usage. However, some birdwatchers prefer the name “little heron” as adults do not always show ant forms of striation.

c) Butorides striata, one species or three species?

This species page assigns the name “Butorides striata” to the striated herons found in the southern hemisphere (including Butorides striata sundevalli from Madagascar). Butorides virescens, green heron from North and Central America, is classified under a separate sister species20 . The rationale for this is given below.

Following Linneaus, the name B. striata was used for all three types of striated herons, B. virescensB. striataand B. striata sundevalli.

In 1990, Sibley and Monroe proposed for B. striata sundevalli to be split from B. striata based on DNA-DNA hybridisation works21 . The basis for their work was probably based on the distinct morphological difference between B. striata sundevalli and other B. striata subspecies. As DNA-DNA hybridisation stems off from DNA differences and evolutionary history, the proposed split to B. sundevalli implies the usage of Phylogenetic Species Concept. However, DNA-DNA hybridisation is primitive and has been known to be with several inaccuracies22 . Today, molecular differentiation has shown that the two populations are conspecific despite distinct morphological differences. This split was poorly received by many16 .

Later in 2003, the American Ornithologists' Union proposed a further split of B. striata to B. striata and B. virescens16 . This was based on works of Monroe and Browning (1992). There were low hybridisation rates and assortative mating between the two species in Central Panama (where they occur in sympatry)23 . As the split was based upon reproductive isolation, it implies the usage of Biological Species Concept.

Most ornithology articles and web pages subscribe to the Biological Species Concept and only consider
B. striata and B. virescens to be separate species 24 . A small population still considers B. striataB. sundevalli and B. virescens to be separate species based on the Phylogenetic Species Concept.

Butorides virescens. Photo credit: Basar (Creative Commons). Butorides striata sundevalli. Photo credit: Benjamint444 (Creative commons).

d) Phylogeny

  • As this page believes that ranks are not informative, taxon names are used in place of ranks unless necessary.

i) Position of B. striata in Aves
Phylogenetic analysis by Hackett et al. (2008) based on Maximum Likelihood Analysis places Butorides(Genus of B. striata) is nested within Ardeidae25 . Maximum likelihood analysis by Jarvis et al. (2014) then showed that Ardeidae, in turn, belongs to a clade called Pelecaniiformes of the Aqueornithia (Core water birds clade)26 .

Adapted phylogenetic tree in TOL based on Hackett et al. (2008). Photo credit: ScienceMag (Permission pending)

Aves Phylogenetic tree by Jarvis et al. 2014. Photo credit: Sciencemag (Permission pending)

ii) Splitting within Butorides clade
The phylogenetic tree proposed by Huang et al. (2016) suggests that B. virescens and B. striata are sister species with high bootstrap support = 100. The phylogenetic tree was based upon 652bp CO1 sequences and used neighbour joining and maximum likelihood analysis as the optimal tree criteria. While Huang et al. (2016) only shows the NJ bootstrap support for the tree, the paper notes that the obtained trees using NJ and MLA were similar. With high node stability (from NJ) for the branching of B. virescens and B. striata, it would probably also appear as a stable node in MLA27 .

The phylogenetic tree can be used as an indication for two different species based on different species concepts28 . By Biological Species Concept or Hennigan Species Concept, the MOTUs are distinctly different suggesting reproductive isolation. By the Phylogenetic Species Concept (sensu Wheeler and Platnick), it can be argued that they are different species as they can be considered as two different population (different geographical boundaries) with distinct character differences (based on the phylogenetic tree). By the Phylogenetic Species Concept (sensu Mishler and Theriot), it can be argued that they are monophyletic groups deemed worthy of recognition based on the high node stability.

NJ tree by Huang et al., 2016. Photo credit: Genetics and molecular research (Creative commons)

iii) Uncertainty of clade positions in Ardeidae
Despite recent molecular advancements, the relative positions of clades within Ardeidae have yet to be properly defined. Seen in the phylogenetic tree from Huang et al. (2016), the nodes separating the clades in Ardeinae are cluttered together, indicating rapid speciation and possibility of polytomy26 . In a separate baynesian and maximum likelihood tree (using complete mitochondrial DNA) by Zhou et al. (2014), the node stabilities for ArdeaButoridesNycticorax and Egretta are weak (below 80% based on maximum likelihood)29 . Both phylogenetic trees indicate that more work has to be done in this field to properly resolve the relationships of clades within Ardeidae.

NJ tree by Huang et al., 2016 showing rapid divergence. Photo credit: Genetics and molecular research (Creative commons)

Low bootstrap values from Baynesian and MLA tree by Zhou et al. (2014). Photo credit: BioMed Central LTD (Creative commons)

e) Subspecies
When identifying striated heron outside Singapore, take note of the high variability in subspecies plumage. Size, neck and head colour may differ greatly30 .
Other variations:
♦ Old world: Grey, rufous or intermediate (with white) forms.
♦ New world: Brown-grey neck forms.

The subspecies table below excludes
B. s. virescens (which the page considers a separate species, B. virescens, as per discussion above)31 .
The subspecies Butorides striata javanica* occurs in Singapore.

Butorides striata striataE Panama and all South America to n Argentina and Chile
Butorides striata sundevalliCoasts and mangroves of Galapagos Islands
Butorides striata atricapillaAfrica south of the Sahara and islands in Gulf of Guinea
Butorides striata rutenbergiMadagascar
Butorides striata brevipesRed Sea environs and n Somalia
Butorides striata crawfordiAldabra and Amirante islands
Butorides striata rhizophoraeComoro Islands
Butorides striata degensSeychelles
Butorides striata albolimbataDiego Garcia, Chagos and Maldive islands
Butorides striata chloricepsIndian subcontinent, Sri Lanka and Laccadive Islands
Butorides striata javanica*Myanmar and Thailand to Greater Sundas and Mascarene Islands
Butorides striata amurensisManchuria to ne China, Japan, Ryukyu and Bonin islands
Butorides striata actophilaE China to n Vietnam and n Myanmar
Butorides striata spodiogasterAndaman Islands, Nicobar Islands and islands off w Sumatra
Butorides striata carcinophilaTaiwan, Philippines and Sulawesi
Butorides striata steiniLesser Sundas
Butorides striata moluccarumMoluccas
Butorides striata papuensisAru Islands and nw New Guinea
Butorides striata idenburgiN-central New Guinea
Butorides striata rogersiNW Western Australia
Butorides striata cinereaNE Western Australia
Butorides striata stagnatilisN-central Australia
Butorides striata littleriSouth-central New Guinea and ne Queensland
Butorides striata macrorhynchaE Queensland, New Caledonia and Loyalty Islands
Butorides striata solomonensisMelanesia (New Hanover to w Fiji)
Butorides striata patruelisTahiti (Society Islands)

Google spreadsheet of B. striata subspecies and their location.

f) Type specimens
The available information of holotypes are B. striata subspecies. Also, no neotype has been assigned according to GBIF as of 11th Nov 201632 .
Type specimen for Singapore's subspecies B. s. javanicus can be found in National Museum of Natural History, Smithsonian Institution. It was collected from Langkawi Island, Malaysia33 .

7. Other information on striated heron

a) Singapore records

♦Most records for striated herons in Singapore are pictures or videos on birding groups such as Bird Ecology Study Group or Bird Sightings
♦Skin specimen of striated heron can be found on display in Lee Kong Chian Natural History Museum.
♦Wee & Wang, 2009, provides the only known Singapore documentation of striated heron in captivity. The record includes the behaviours and characteristics of a rescued striated heron chick for over a year. See more here34 !

b) Parasites and viruses

♦Cestode parasites:
Cestode parasites are common in striated heron's digestive systems. In a recent study, seven trematode species were found in the oral cavity, small intestines and cloaca of a young striated heron35 . The numbers can go up to 16 parasites. Striated heron is known to have a greater richness of parasites compared to other birds. On average, Aves birds only host three cestode parasites36 . This may be attributed to striated herons' diverse diet and proximity to aquatic habitats.

♦Striated herons:
Striated herons are also hosts for viruses such as H5N1 and Venezuelan encephalitis37 38 39 .

8. Reference

Ref Notes
1 Ruxton, G. D. & M. H. Hansell, 2010. Fishing with a bait or lure: a brief review of the cognitive issues. International Journal of Behavioural Biology, Ethology, 117(1): 1-9. [ a b ]
2 “Species factsheet: Butorides striata,” by BirdLife International. BirdLife International, 2016. URL: (accessed on 4 Nov 2016).

“Striated Heron Butorides striata (Linnaeus),” by International Union for Conservation of Nature-Species Survival Comission Heron Specialist Group, 21 May 2011. URL: (accessed on 4 Nov 2016).


Marchant, S. & P. J. Higgins, 1990. Handbook Of Australian New Zealand And Antarctic Birds, Volume 1 Ratites to Ducks. Oxford University Press, Melbourne.


“Singapore Birds Project” by Singapore Birds Project, n.d. URL on 3 Nov 2016).


“Striated heron” by Singapore Birds Project, n.d. URL (accessed on 3 Nov 2016).

7 “eBird map” by eBird, n.d. URL: (accessed on 3 Nov 2016).
8 Beehler, B., T. Pratt, M. Lecroy, 2016. Birds of New Guinea. Princeton University Press.
9 "Storks, Ibis, Herons, Pelicans” by Kok, H.T.. SingaporeBirds, 10 May 2012. URL: (accessed on 3 Nov 2016).
10 “Striated Heron Butorides striata (Linnaeus),” by International Union for Conservation of Nature-Species Survival Comission Heron Specialist Group, 21 May 2011. URL: (accessed on 4 Nov 2016). [ a b c d ]
11 Marchant, S. & P. J. Higgins, 1990. Handbook Of Australian New Zealand And Antarctic Birds, Volume 1 Ratites to Ducks. Oxford University Press, Melbourne. [ a b c d e ]
12 Olguin, P., A. Beltzer, A. Giraudo, S. Regner, M. Juani, M. Vianco, E. Mariano, R. Lorenzon & E. Leon, 2015. Reproductive biology of striated heron (Butorides striata) in Argentina. The Waterbird Society, waterbirds, 38(4): 396-400.
13 Kushlan, J. & J. Hancock, 2005. Herons. Oxford University Press, Oxford.
14 “Striated heron (Butorides striata),” by Wildscreen Arkive. Wildscreen Arkive, n.d.. URL: (accessed 4 Nov 2016).
15 Butorides striata,” by IUCN. The IUCN Red List of Threatened Species, Feb 2016. URL: (accessed 4 Nov 2016).
16 Linnéaus C., 1758. Caroli Linnaei ... systema naturae per regna tria naturae. Impensis L. Salvii, Holmiae. [ a b c ]
17 “Striated Heron – Butorides striata (Linnaeus, 1758),” by Avibase. Avibase, n.d..URL: on 4 Nov 2016).
18 "Butorides striata Fly-up-the-creek,” by Encyclopedia of Life. Encyclopedia of life, n.d.. URL: (accessed 4 Nov 2016).
19 “Butorides striatus,” by Lee Kong Chian Natural History Museum. The DNA of Singapore, n.d.. URL: (accessed 4 Nov 2016).
20 “Species factsheet: Butorides striata,” by BirdLife International. BirdLife International, 2016. URL: (accessed on 4 Nov 2016).
21 Sibley, C. G. & B. L. Monroe, 1990. Distribution And Taxonomy Of Birds Of The World. New Haven, USA: Yale University Press
22 Davison, G. W. H., 1998. Scientific controversy over avian taxonomic changes, based on DNA hybridisation. The Raffles Bulletin of Zoology, 46(2): 253-269.
23 Monroe, B. L. & Browning, M. R., 1992. A re-analysis of Butorides. Bulletin of British Ornithologist’s Club, 112(2): 81-85.
24 Butorides striata,” by IUCN. The IUCN Red List of Threatened Species, Feb 2016. URL: (accessed 4 Nov 2016).
25 Hackett, S., Kimball, R., Reddy, S., Bowie, R., Braun, E., & Braun M., 2008. A Phylogenomic Study of Birds Reveals Their Evolutionary History. Science, 320(5884): 1763-1768.
26 Jarvis, E., Mirarab, S., Aberer, A., Li, B., Houde, P., & Li, C. et al., 2014. Whole-genome analyses resolve early branches in the tree of life of modern birds. Science, 346(6215): 1320-1331. [ a b ]
27 Huang, Z., Li, M., & Qin, J.. 2016. DNA barcoding and phylogenetic relationships of Ardeidae (Aves: Ciconiiformes). Genetics And Molecular Research, 15(3).
28 Wheeler, Q. & Meier, R., 2000. Species Concepts And Phylogenetic Theory (1st ed.). New York: Columbia University Press.
29 Zhou, X., Lin, Q., Fang, W., & Chen, X., 2014. The complete mitochondrial genomes of sixteen ardeid birds revealing the evolutionary process of the gene rearrangements. BMC Genomics, 15(1): 573.
30 Hayes, F. E., D. E. Weidemann, D. S. Baumbach & R. D. Tkachuck, 2013. Variation and hybridisation in green heron (Butorides virescens) and striated heron (B. striata) in central Panama, with comments on species limits.
31 “The eBird/Clements checklist of birds of the world: v2016.,” by Clements, J. F., T. S. Schulenberg, M. J. Iliff, D. Roberson, T. A. Fredericks, B. L. Sullivan, and C. L. Wood. Cornell, 2016. URL: (accessed 4 Nov 2016).
32 Butorides striata (Linnaeus, 1758),” by Global Biodiversity Information Facility Secretiat. GBIF Backbone Taxonomy, 11 Jul 2016. URL: (accessed on 4 Nov 2016).
33 "Collections," by Smithsonian Natural Museum of Natural History. NMNH, 2016. URL: (accessed on 4 Nov 2016).
34 Wee, Y. C. & L. K. Wang, 2009. Observations on the in-captivity development of a rescued chick of the striated heron, Butorides striatus (Linnaeus). Nature In Singapore, 2: 193-202.
35 Pinto, H.A., V. L. T. Mati & A. L. de Melo, 2013. New records and a checklist of trematodes from Butorides striata (Aves: Ardeidae). Revista Mexicana de Biodiversidad, 84(4): 1100.
36 Dobson, A., K. D. Lafferty, A. M. Kuris, R. F. Hechinger & W. Jetz, 2008. Homage to Linnaeus: How many parasites? How many hosts?. Proceedings of the National Academy of Science of the United States of America, 105:11482-11489.
37 Stoops, A.C., K. A. Barbara, M. Indrawan, I.N. Imbrahim, W. B. Petrus, S. Wijaya, A. Farzeli, U. Antonjaya, L. W. Sin, N. Hidayatullah, I. Kristano, A. M. Tampubolon, S. Purnama, A. Supriatna, T. H. Burgess, M. Williams, S. D. Putnam, S. Tobias & P. J. Blair, 2009. H5N1 Surveillance in migratory birds in Java, Indonesia. Vector-Borne and Zoonotic Disease, 9(6): 695-702.
38 Mendenhall, I., S. A. Tello, L. A. Neira & D. M. Wesson, 2012. Host preference of the arbovirus vector Culex erraticus (Diptera: Culicidae) at Sonso Lake, Cauca Valley Department, Colombia. Journal of Medical Entomology, 49(5): 1092-1102.
39 Ashton Acton, A. Q.,2013. Issues in Medical Anthropology and Forensics: 2013 Edition. Scholarly Editions.

This page was authored by Tok Wei Xian Eugene

Last curated on 2016 

  • No labels