pulled from irfan
finalizing