patches are always arrays