implement list overdue methods and refactor