transfer constructor and save