update mostly works