clean up & fix part bug