look into using guava's stopwatch for timing things