add more method for listenable interface to easy use