removed do_build()