updated by safi