update methods, and tests