move generic around