added listenable, thinking about event emitting parameters