Update and select refactor