fill up parts when parts have different length