add build function