refactored update cell process