Part-based Generation