making libraries mo better; adding @Provides; new benchmarks