implementing build collect