added partial to DRY-up a bit