use native defers pool