Code clean up and reducing dependency on Guava
Code clean up and docs + PIT