updating code and adding benchmark