What I wonder is why do it with discretes when chip implementations were (and are) available. This site describes the Motorola MC1496 as "horribly obsolete" yet it's still available in SOIC at Digikey: https://www.radiomuseum.org/forum/mc1496_mc1496.html