shadow: improve pointer updates