Help Using a Library inside of a Library

Hi so I'm new to C++ and I'm having a little trouble creating my own library (UI.cpp) so I can try and clean up my program. The libraries I'm trying to include are for the adafruit 128x64 OLED Display Monochrome 0.96 128x64 OLED Graphic Display - STEMMA QT : ID 326 : $17.50 : Adafruit Industries, Unique & fun DIY electronics and kits. The libraries on their own work fine. The problem is when I try to include them in my library.

#include "Arduino.h"
#include "UI.h"
#include <Adafruit_GFX.h>
#include <adafruit_SSD1306.h>

Adafruit_SSD1306 display(4);

#define FS(x) (__FlashStringHelper*)(x)
const char ALTITUDE[]  PROGMEM  = { "Altitude" };
const char CALIBRATE[]  PROGMEM  = { "Calibrate" };
const char UNITS[]  PROGMEM  = { "Units" };
const char MAXANDMIN[]  PROGMEM  = { "Min & Max" };

This is the error I get UI.cpp:6: error: 'Adafruit_SSD1306' does not name a type

What I don't get is there's no issue if I place Adafruit_GFX.h,Adafruit_GFX.cpp,adafruit_SSD1306.h,adafruit_SSD1306.cpp in the same directory as UI.cpp and use #include "____"
I'd rather not do this because it just clutters my sketch with unnecessary files.

Read the third bullet point.

got it thank you !