build dependencies first