Lots of changes to add pool supports