add volume listener
the worst code