build three transfer method prototype