adding benchmark code and documentation