algorithm and data updates