a new Pool class