initial rewrite of build process