finalVersionforPogramming2