it is modify by junaid