build for normal use