upate methods are now final and public