modified pool_init