actually perform the rebuild