a better hinterface pool impl