fixup! extract members and methods
use abstract methods
remove interface, add bdb benchmark