build for dist