https://alfredave.com/computer-parts-explained/