initial delete and update functions