build() helper