added some initial builder code
introduced guava as dependency