rewrite so much code, make it move data from link to link