fix drain impl