functions changes