re-construct the porj