few improvement; add benches