Implement Transfer ctrl, refactoring