added primitive build process