updates, and implementation