finalized version1