refactored update alternatives