Refactored transfer