Add improvements to the build process and decoupled calls from the private to the public methods