some tweaks to convert some APIs to a more std format

Changed some APIs over to use private constructors.