added a tmpvarpool impl