polyfn improvements