add guava dependency
workable
three methods
Merge branch 'listen'