working
extract_... becomes swap...