add deployment builder and introduce resource builder