implement build queue