used `extend` instead of `defaults` for older underscore version