using apply to refer changes to this