added more tests
fixed benchmark