For many readers, I'm sure what I'm about to write here is relatively "old hat" by now... However, in the spirit of "Computer Audio Demystified" last week, let's talk about this powerful way of storing, categorizing, and playing our music by exploring some aspects of the foundation of computer audio in a way I hope newcomers will find reasonably accessible. I do make some assumptions in the writing that the reader has some basic knowledge of computer usage and networking. Let's consider the "architecture" of what someone might want to build, and a few reasonable options if we were to start from scratch with full disclosure of the price to build such systems.
I can imagine that some folks might need to overcome their phobia around computers. If you're motivated, just put in some time, a little patience and don't be afraid to "play" with it. More likely than not, once one has tasted the convenience and have found one's "groove", going back to only spinning physical media will likely feel archaic after a short while :-).
First, permit me to remind everyone about the two most important determinants of sound quality in a high fidelity audio system:
1. Put thought and money into good speakers, good pre-amp/amp(s), good DAC and a good sounding room.
2. Make sure the system is acoustically quiet; ideally silent.Point 1 is obvious. The primary factors in sound quality (ie. "fidelity" achievable) are the room, speakers, and amps in that order - these are the prime candidates for sound distortion, not your computer or DAC (and certainly not stuff like cables). And Point 2 is an obvious corollary for any equipment we put in the room since we don't want the system itself to act detrimentally - this includes noisy computers, buzzy amp transformers, ground loops through the pre-amp, etc. Remember that the purpose of computer audio is simply about storing the audio library data reliably, making available a conveniently handy user interface, and the bits are being delivered in an accurate fashion to the DAC; whether internal to the computer audio device or say an external USB DAC. There is no mystery in how to come up with a solution to achieve these goals.
I. General Thoughts About Computer AudioTo begin, I think the most important question anyone who's starting in computer audio has to answer is this - Do I want a standalone device in my sound room, or do I want to stream through a home network and potentially reach other music devices on that network?
To know the answer to this question will immediately allow us to envision what "type" of system we're looking to build. Although there are all kinds of variations, I see basically 2 "Types" of computer audio systems when we start out:
Type 1 - Integrated: Computer as primarily a self-contained digital audio player.
- The computer is generally more powerful and uses more energy
- Specwise, a faster CPU & likely more RAM
- Has onboard storage for music or something like a hard drive attached
- Software for library maintenance (eg. editing tags, ripping capability, user interface)
- For convenience - wireless control
- Can be as simple as wireless keyboard/mouse/touchpad
- With wireless WiFi network - consider use of tablet/smartphone with app
- Typically "Server" computer paired with an endpoint "Streamer" (or "renderer")
- "Server" typically the more powerful of the devices:
- Music storage typically attached here
- Library database functions, user interface controls
- DSP functions typically performed using the Server's computing power
- Allows synchronization of multiple Streamer endpoint devices
- "Streamer" devices can be placed throughout the network/home:
- Can be simple, slower, low power CPU machines receiving audio data from the Server
- Each likely much less expensive than the Server
- Typically much more energy efficient, runs at low temperatures, fanless and silent
- Highly flexible - the distributed nature allows components to be placed remotely
- Even across the city or internationally!
A "Type 2" System is comparatively more complex and flexible where the "heart" of the system is the Server which is instructed to send out the audio data through the network to potentially multiple lower-cost Streamer devices using the network. The mechanism is dependent on the "protocol" being utilized with the most common ones being the Squeezebox/Logitech Media Server SlimProto TCP, Digital Living Network Alliance (DLNA) / UPnP, Roon Advanced Audio Transport (RAAT). There are others... For example HQPlayer's Network Audio Adapter (NAA). Another one that is convenient but not "audiophile" quality is Apple's AirPlay which is limited up to 16/48 streams. So long as the Server and Streamer speak the same protocol, there should not be compatibility issues.
For some historical background, remember that back in the old days - say more than 10 years ago in the early 2000's, before the proliferation of modern home networks and audio Streamers, most of us were using general computers in the audio system as Type 1 devices. My first computer audio component back around 2003 was based on an old Soltek QBic "small" computer enclosure with the CPU underclocked and undervolted to keep things cool and quiet. Inside were various PCI audio cards over the years for analogue output. Today, we still see all manners of computers being sold commercially for audio purposes; some with very high computing specifications and typically in the audiophile world, big price tags as well... We'll get to them later on in this article.
It wasn't until about 2005 with the introduction of the Squeezebox 3 then the Transporter, and Logitech Squeezebox Touch later that I think many of us started building the "Type 2" setup. This shift in paradigm, although quite obvious these days in the era of ubiquitous networking and mobile devices was liberating and I think for many of us, represented a level of flexibility that we would never go back on. It allowed us to spatially dissociate the processing end from the actual high quality analogue output end(s).
Notice that I used the word "primarily" for both Types of devices in the description. The reason being that as time goes on and computing power gets cheaper and machines more capable, these archetypes become blurred. It's not hard to see the day (which is already happening) where extremely low-powered and efficient devices can perform all the processing tasks needed for audio. Even in the video world, very inexpensive Android capable TV boxes can act as full-fledged "home theater PC's"; no reason why a powerful Streamer won't be able to be programmed to perform intensive DSP functions for audio one day for example. Likewise, nothing stops a powerful Type 1 device to access the network to stream TIDAL as a main function either. Or for that matter, a very low power Type 2 Streamer can also directly access TIDAL or Spotify or whatever else to access the audio data without an actual Server in the home. As much as we might try to create categories of products, the power and flexibility of computer audio will allow it to innovate with new ways of operation beyond these simplistic "Types". Computer technology has "revolutionized" how we deal with information and media, including of course the myriad of ways we can build upon the basics as presented here.
Just to be clear, since audiophiles are typically so concerned about apparent sound quality, there is nothing inherent in these audio system architectures that will change sound quality. A "Type 1" system does not imply that it will sound any better than "Type 2" and vice versa. Absolutely no need to worry about an ethernet network causing sonic deterioration; and certainly nothing about ethernet cables can introduce a problem either - and if there is, I want to see some evidence! Remember, as I said above, the computer hardware system itself is not the primary determinant of sound quality assuming nothing is malfunctioning and the software is operating in a standard bit-perfect fashion.
II. The Commercial OptionsThe easiest way to get going of course is to just buy it... By all means, consider the commercial options. If you're interested in a Type 1 integrated storage-library-renderer system to start, there are many companies putting together computers and digital audio "appliances" for the purpose of playback. Check out Aurender, Antipodes, Cocktail Audio all-in-one's, Sony HAP-Z1ES, SOtM PC's, Pro-Ject Media Box S, Baetis Audio, QuietPC builds, Bluesound's Vault 2 used alone. The Sony HAPS1 is an even more integrated digital audio device which not only includes 500GB storage, but also stereo 40Wpc amplification. (A friend has one of these and he showed me CD ripping on this unit with an external USB CD/DVD drive; sounds great.)
There are of course many more than this and highly exotic models to boot like the monstrously expensive Sound Galleries computer, or Burmester Musiccenter all-in-one.
A good looking high-end integrated model recently reviewed on the Computer Audiophile site is the Aurender A10. It's got a nice AMOLED screen, aluminum case, can decode MQA, has dual AKM DAC chips, supposedly upgradable to DSD256 at some point, has its own music management and playback software, both SSD and hard drive storage internally, etc. Asking price >US$5000.
Alongside these are the proliferation of "Type 2" networked Streamers. These days, audio Streamers are literally everywhere with all kinds of features; many of which are perfectly capable of independent operation (à la "Type 1" mode) by plugging in a USB stick or portable hard drive and selecting the music to play. Basically every manufacturer these days sell Streamers: Simaudio, Bryston BDPs, Naim, NAD, Auralic, Ayre, Cambridge Audio, Linn, Marantz, Bluesound, Lumin, Cyrus, Cary and of course the venerable discontinued Squeezebox/Logitech devices. In fact, these days it's so easy to incorporate streaming such that most higher model mainstream networked receivers from Pioneer, Denon, Yamaha, Onkyo, etc. can already handle DLNA/UPnP, AirPlay, or directly stream from the likes of TIDAL or Spotify Connect.
As for the home Server side of a "Type 2" system, basically any general Windows, OS X, Linux machine can do this provided there's adequate processing speed and necessary storage by running the right software. I suspect there's really no mark-up to be made here so there aren't that many options commercially. Small Green Computer sells some pre-built computers specifically as audio servers; some of their packages are paired with the microRendu Streamer currently. Modern high speed NAS devices will also run media servers such as UPnP/DLNA and Logitech Media Server without difficulty - consider for example the Synology DS716+II for a 2-drive setup, or the DS916+ for a 4-drive version. Some like the Qnap TS-451+ even has an HDMI output for streaming 1080P video and audio directly. Remember that Roon Server requires a bit more CPU power, so if you're going to be streaming to Roon Ready / Bridge devices you will need the higher end Synology and QNAP models like the ones above - check this site for details.
As far as I'm concerned, there's nothing special about the brand of NAS enclosures. So long as it provides access to the data quickly and reliably and has the ability to run the server software you need, it's good enough. None of this makes a difference to the "sound" of the digital audio stream.
I think this is about all I can say about the commercial options. Idiosyncratic software and hardware combinations are best discussed with the manufacturer for putting together a recommended setup.
III. DIY "Type 1" Computer Audio Suggestions...As much as it's good that commercial options are available, computers are cheap these days. After countless generations of CPUs, motherboards, storage options, RAM, etc. the hardware has become very inexpensive. IMO it makes much more sense to put money into owning an excellent DAC than investing in a computer system that holds no longterm value. We are at a point now that processing speed and low power utilization has outstripped the needs of most home users. There's little necessity to follow a regular upgrade cycle even if Moore's Law continues at the cutting edge of technology to a certain extent. As "commodity" items these days, we can easily get the job done without much expense and in my opinion it'll sound just as good provided one chooses decent components and the software is set up properly.
The DIY "all-in-one" audio computer has quite a history with various "designs" suggested over the years. In fact, check out the Computer Audiophile "C.A.P.S." machines. This one from late 2014 for example looks very capable. Obviously some of the internal components can be updated but as you can see, the key component is the fanless case - in this example the machines uses the ~US$300 Streacom FC10. Not unexpectedly, to dissipate heat from a powerful CPU does require a fair bit of metal and this adds to the cost.
|Intel NUC (left) and ODROID-C2 (right, for size comparison) sitting comfortably on TEAC DAC.|
You'll need a monitor to at least set it up initially, but can run it headless afterwards with Remote Desktop Client login through a network. Remember that Windows 10 these days is a bit annoying with the regular updates and reboots. If you want to leave the machine running audio software at all times (it can sleep to save power of course), follow these directions and turn off the pesky Windows Update Service. Just keep an eye out for a major update you might want once awhile.
With decent airflow around the machine, turn on the "Quiet" Fan Control Mode in the BIOS and you have yourself a small, almost silent machine capable of decent processing with the dual core, hyperthreaded i5-6260U CPU capable of room correction and other DSP tasks you might expand into. Play your music with free foobar, inexpensive JRiver ($50 for single OS, $70 for Master license for all OS's) with ASIO to a good external USB DAC and experience sound no different from a four or five-figure "audiophile" computer (for further discussions, see here). Works great with Roon and streams TIDAL effortlessly as well. I have tested JRiver and HQPlayer upsampling with this kind of set-up all the way to 24/384 and DSD128 without issue (you'll probably need a faster CPU for DSD256+ upsampling). The only limitation would be the 512GB storage listed above depending on the size of your music collection, but no problem growing this when SSDs get cheaper like adding a M.2 SSD to the NUC 6i5SYH or adding a USB hard drive of course so long as the spinning drive is quiet. Fast enough to double as a HTPC as well if you want to play movies up to 4K (8-bit HEVC limit using Skylake, upcoming Kaby Lake machines will push this to 10-bit HEVCs) with this little computer.
For many years, I used a Mac daily but these days Windows is more compatible for my work. Ultimately, I'm agnostic when it comes to OS, so an i5/i7 Mac Mini would be great I'm sure - I see they start at ~US$500 for the lower end dual-core i5/500GB HDD/4GB DDR3. Never played with one but a friend loves his. Hopefully the price is right and the machine has quiet fans. Software like JRiver and Audirvana+ (~US$75) would work well...
|From left to right - 12" Retina MacBook, Microsoft Surface 3, ASUS Taichi, 17" MacBook Pro.|
Although I don't have a particularly good place to put a laptop in my system above, I guess it would be just fine on the top shelf there if I didn't have a big center channel, right beside the DAC. Maybe hang a multi-terabyte external drive off the laptop for storage (in fact I have space behind the rack to hide it and decrease the chance of hearing a spinning HD). Other than while setting up, I suspect I would just keep the screen off the vast majority of the time.
IV. DIY "Type 2" Computer Audio Suggestions...So, you want to go the next step up and get into a Type 2 home networked computer audio setup using a Server and Streamer combo without too much expense? Well, here's what I'm running at home over my gigabit ethernet hardwired into every room:
Remember that the moment we decide on using a Server-Streamer system, we need to make sure the home network is up and running. The picture above is my network utility space located in one of my rooms in the basement. Top left is the ethernet patch board where a combination of CAT-5e and CAT-6 cables to each room terminates. And of course on the right, we see my current router, an ASUS RT-AC87U (an "AC2400" model with 2.4GHz and 5GHz WiFi bands) using the excellent 3rd party Asuswrt-Merlin firmware. If it weren't for the fact I got an amazing deal on it, I might have gone for the newer ASUS RT-AC88U. Over the years, I have had the Netgear Nighthawk AC1900 at home as well as Linksys AC1900 router at work with no problems.
These days, I'd at least run the home wired ethernet network in gigabit speed (with a gigabit router of course along with CAT-5e+ cabling). You'll certainly appreciate the difference compared to 100MBps ("Fast Ethernet") for gigabytes of data transfer, streaming 4K video in one room while hi-res audio in another, etc...
You've probably all seen the new, at times very expensive routers with all kinds of claimed speeds, and spider-like antennae sticking out (current speed kings being the Netgear AC5300 Nighthawk X8 and Linksys AC5400 Tri Band). If you don't have a router already, make sure to read reviews and consider the size of your home you need to cover. The most likely pitfall is inadequate speed and reliability between Server and Streamer if you're running wirelessly. Remember that wireless connections are a two-way street; not only does the router have to be up to the task, but make sure the Server computer and Streamer have good WiFi capability themselves and make sure placement is reasonable for speed and reliability. You obviously don't need the "top end" router most of the time; aim for reliable data transfer.
Not shown in the picture above, my cable modem is sitting just below the ASUS router. Currently I'm running a 150Mbps down/15Mbps up link which is easily adequate for lossless audio from TIDAL including MQA with its ~30% premium over standard lossless compressed 16/44.
For those who are streaming high-resolution audio data, I strongly recommend using wired ethernet if at all possible. Yes, WiFi can do the job but reliability can be an issue if one runs into interference. This is especially true if the device (like the Raspberry Pi 3's built-in transmitter) has a weak WiFi section. There are few distractions for an audiophile worse than the music suddenly stopping to rebuffer in the middle of an otherwise enjoyable listening session. Years ago, I found that powerline network devices like the inexpensive TP-Link AV500 or updated AV1000 provided a more stable connection than over-the-air. Quality of transmission with these adaptors can be affected by the home power line wiring and across fuse boxes.
I have scattered in my home a few consumer grade 8-port gigabit switches as well (D-Link DGS-1008G and TP-Link TL-SG1008D) - inexpensive, fast, reliable. Never have found switch boxes to make a difference to DAC noise floor.
Although I love my Squeezebox devices, these days an inexpensive Raspberry Pi 3 Model B [measurements] (~US$40) or similar like the ODROID-C2 [measurements] (~US$50) works wonderfully to Stream to my USB DAC. Add a case for around US$10. Connect to the home network preferably over wired ethernet. Find an old 5V USB power supply which you probably have around the house already and an inexpensive 16GB microSD card to load up something like piCorePlayer (for Logitech Media Server) or Volumio / RuneAudio / Archphile (for DLNA/UPnP). If you have Roon, install Roon Bridge.
In the picture above, you see the red Pi 3 peeking though between my DAC and center channel streaming at 24/384. A little Streamer device like this doesn't need to be seen so I usually just tuck it back there behind the DAC.
BTW, remember that both the Pi 3 and ODROID can be run as video streamers as well; 1080P for the Pi 3, ODROID-C2 up to 4K with hardware H.265/HEVC 10-bit decoding up to non-HDR/60fps!
For the more adventurous, and those who feel a Streamer should be seen as well as heard, grab a Pi LCD touchscreen (here's one for the ODROID-C2), a case incorporating the Pi & touchscreen then check out these instructions for Volumio or this one for Max2Play. The hardware is pretty standard for most builds and I have one utilizing piCorePlayer with jivelite as UI. Here's my device sitting on the TEAC DAC:
Here's what it looks like beside a genuine Squeezebox Touch:
Notice that the "official" Pi 7" screen is physically larger and the resolution (800x480) commensurately larger than the Touch's 4.3" screen (480x272) with a slightly finer pixel density. A Pi 3 also has a much faster CPU so the device feels very responsive (there's a massive difference between a quad core modern Cortex-A53 CPU capable of >2400MIPS in the Pi 3 and the single core 533Mhz ARM11 in the old Touch running at ~600MIPS). Furthermore, the HiFiBerry DAC+ Pro provides better analogue output than the original Touch. The total cost at current prices including the DAC HAT board would be about US$185 + a microSD card + 5V power supply. Not a bad total price at all for such a flexible and capable system!
IMO this is a wonderful Touch replacement. I'll post full build instructions soon (HOWTO now posted) and measurements at some point down the road comparing this "Touch replacement" to the actual Logitech Touch. Remember too that piCorePlayer is capable of streaming higher bitrates like 24/384 without problem - so long as your DAC can handle it.
You'll need a Server computer of course to play to the Streamer(s). Here's my machine tucked in a corner of a basement study used at times for work-related workstation duties:
This machine serves not just music but acts as my NAS with >10TB of storage, web server for a work-related website, movie server using Plex. The CPU inside is just an AMD A10-5800K from back in 2012 (these days a system based on the inexpensive A10-7870K would be about the same). Since it's on 24/7, I underclock it to 3.2GHz. In fact, the guts of this machine was described here with a few small updates over the years. Still plenty of processing power for DSP room correction and enough for things like HQPlayer upsampling. Since this computer is not in the soundroom, it just has to be reasonably quiet, no need to spend much money on keeping it silent.
As a server, the OS on this machine is Windows Server 2016 with a Ubuntu Linux VM (the window with my blog page opened up showing the Roon logo) running my LMS server as discussed previously. Realize of course there's no need to buy Windows Server; Windows 10, OS X, Linux will all do. By the way, the black box beside the computer on the floor is a CyberPower CP1500AVRLCD UPS which has served me well over the years.
Remember that the protocol has to match between the Server and Streamer, so if I loaded up piCorePlayer on the Pi 3, then I use Logitech Media Server on the Server. Likewise, if I have Volumio, Archphile, or RuneAudio on the Pi 3, I run JRiver to stream via DLNA. Roon Bridge on the Pi of course demands running Roon "Core" on the Server computer.
V. Other practical considerations1. Get an external CD/DVD/Blu-Ray drive for music ripping if needed. These days, I rip CDs on my main workstation and transfer the data to my Server over the network. An external drive would be great to rip the occasional disk using the NUC. You can have a peek at the 2016 list here of the top CD/DVD drives rated for accuracy based on AccurateRip data. As expected, drives from Matsushita/Panasonic, Pioneer, ASUS, Plextor make the list with >98% accuracy...
2. I highly recommend dBPowerAmp as an easy to use audio format conversion and error-correcting CD ripper. For free, EAC is a classic.
3. Although dBPowerAmp works for tagging, I'm much more used to the freely available Mp3tag. Learn how to use good tagging software! Remember to have a good system to organize your folders and tags.
4. Use your smartphone or tablet to control the music playback. On Android, I've used the free Squeezer for LMS (also Orange Squeeze and Squeeze Commander at a slight cost), FoobarCon for foobar, JRemote or Gizmo for JRiver. On the iOS phones and tablets, SqueezePad and iPeng have worked great for LMS over the years, JRemote for JRiver, maybe MonkeyMote for foobar. Roon Remote obviously for Roon users available for both Android and iOS.
As a newcomer, I would get started with ripping CDs and moving music over to the Server or playback computer - again, remember to be consistent with the meta-tagging system you want to use. Don't worry about audiophile fluff like network electrical noise. Optical network isolation has not shown evidence of efficacy despite testimonies. Generic USB2.0 cables are perfectly good. Use FLAC in Windows and ALAC in the Apple world, both saving you around 50% storage space; easily transcoded losslessly with dBPowerAmp. Remain skeptical about hardware like special power supplies, jitter-reducers, USB noise filters for the computer and unproven "audiophile" software and OS tweaks. Just start listening to the music using reasonable products based on need. This is not to say we should not keep our eyes open for potentially useful products of course, but do use common sense and get the basics in place before spending more on stuff that tend to be hyped and typically expensive.
Conclusions & if I were starting out today in 2017...If I were just starting out, was very serious into the hobby and had $5000 to play with (about the price of the Aurender A10 described above in the "Commercial Options" section), already have a good home network, have room in my house for a Server computer so hard drives and processing doesn't have to be in the sound room, and am a bit tech savvy, this is what I would do...
[For clarification - I'm not suggesting that one needs to spend $5000 dollars! The thing is that I have spent $5000+ over the years and this is kind of something I would build today with that money. The system IMO would be more satisfying, have greater potential for expansion, much better longevity of use, and likely sound better than spending it on a commercial device like the Aurender.]
I'd grab a lifetime subscription to Roon (US$500) with the hope that it stays strong for many more years.
I'd then grab a Mytek Brooklyn DAC (US$2000). Feature-filled with DSD256 capability, OLED display, MQA decode for TIDAL, and even a phono preamp if I want to connect a turntable. Remember, the DAC output quality is way more important to the sound than the digital side with the Server and Streamer. Based on what I have heard, the Brooklyn certainly delivers with the accuracy of the company's pro audio pedigree.
I'd get a Raspberry Pi 3 (with Roon Bridge installed) (~US$50) for Streaming duties. Sure, if I want something fancy, I'll grab the 7" Pi touchscreen and case I showed above.
I'll put the Server computer in the study/office with terabytes of storage, running the Roon Core software pointed at my music archive of course. A good quality, fast Server machine might be something like this:
intel NUC6i7KYK (i7-6770HQ CPU, Thunderbolt available) ~$600
16GB kit (8GBx2) SODIMM ~$110
Samsung 850 EVO M.2 250GB SSD ~$115 - boot drive
4TB External USB 3.0 hard drive ~$110 - storage (so cheap, get 2 for backup!)
Server Total = ~US$1000Assuming I have a copy of Windows already, throw in another $300 for a nice 24" monitor, keyboard/mouse and that comes to around US$1300 for a very capable computer workstation beyond simple music serving. Remember too that an i7 machine like this would be awesome for DSP room correction and HQPlayer upsampling to DSD256 streamed to the Mytek Brooklyn through the Pi 3/Roon Bridge.
Something like this would provide a fantastic infrastructure to build upon with plenty of speed and flexibility. The sound would be unbeatable for the price with a complete user experience through Roon. Spend <$100 here and there for a few other Pi 3 + DAC's and have music throughout the home all coordinated through Roon. Even for all of this, we should be looking at "only" around US$4000 of the initial $5000. Left over money can be spent on a TIDAL subscription for years! At least for now, Roon only supports TIDAL. I would certainly like to see Roon support Spotify (especially if lossless arrives).
Obviously this is just an example of what's possible in 2017 by opening our options and embracing the flexibility and power of computer audio - all without mysticism.
Remember, computer audio is about options. There are no strict rules of how you put together your computer system, rather it is about having reasonable practices. In fact, I embrace the days ahead when computers can be even more diminutive, sip even less power, and storage technologies become even smaller and more reliable. As I have expressed before, the "hardware audiophile" hobby is about fidelity which in my view is synonymous with accuracy. There are obvious ways to maintain accuracy in computer audio (eg. archiving lossless files, bitperfect transmission with ASIO/WASAPI in the Windows world, make sure DSP processing off unless you know what you're doing). By maintaining a rational mindset, and making decisions based on logical understanding of the technology, one can truly master one's music system and network. There is absolutely no need for fear or uncertainty on the computer audio side of the hobby; nothing mystified, nothing needing to be demystified...
I just finished the first season of HBO's Westworld. Fantastic series and recommended for sci-fi fans who like thinking about philosophical and ethical matters intersecting with the potentials of technology and human nature.
I'm posting this from the travel lounge at Toronto's Pearson International Airport. Heading off to Costa Rica for some Spring Break R&R with the wife and kids for a couple weeks... Hope you're all having fun and enjoying the music! And for those looking into computer audio, by all means, jump on in... The water's fine :-).
I'm sure there's a ton of stuff I missed here and many ways to get the job done creatively.