building dependencies first