added generic pool from npm