add getAll() and listeners