refactored bechmark and tests into separate files