ResourcePool class