Final Version.Added last changes