improvements on transfer