primary build