update now returns resource instead of boolean