added back the assumptions