spinlock added, some becnhmarking