generates multiple parts by id