add patron functionality, listing books for patrons, listing overdue books, and refactoring for cleaner UI