implemented new changes