More passing funcs around, even if it might be strange for ctors