changed functions