perfect almost all part function