Added comments, Google Collections, refactoring