This version is based on the assumptions