new changes function starting from inside