update methods with more generic usage