Update build process

Updating build process with latest versions of libraries and hopefully enhancing the experience based on lessons learned from other projects.