better update on a self join for performance