merged with Umars changes