added guava dependency
refactored for multiple commits between pushes