I would personally suggest you while working with POM first design your
TestBaseSetup class. In this initialize your drivers and the same driver you can use it in your page object class by passing 'constructor' of the base class to your all object classes.
This will create Page Object classes. For each page, we will create a separate class with a constructor. We identify the locators and keep all together on just below the class. This will help us to reuse the locators for multiple methods and the main important is, we can easily find the locator and change if required.
We need to identify and a list of all the possible functionalities on this page and we should write methods in such a way they are re-used. When ever there is a method to click on a button or link, we should return driver object of that page.
For more details how to design POM, you can check here.