refactory update