test and benchmark added