modify transfer and calculate
modify cal