functions changed