diff --git a/regtest/basic/rt-make-namd/Makefile b/regtest/basic/rt-make-namd/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3703b27cea227aa053fb6d1d73f861e4384dbcee
--- /dev/null
+++ b/regtest/basic/rt-make-namd/Makefile
@@ -0,0 +1 @@
+include ../../scripts/test.make
diff --git a/regtest/basic/rt-make-namd/all.reference b/regtest/basic/rt-make-namd/all.reference
new file mode 100644
index 0000000000000000000000000000000000000000..e90cab1ecc48f5d1630a4d4a848dd57d52af680e
--- /dev/null
+++ b/regtest/basic/rt-make-namd/all.reference
@@ -0,0 +1,306 @@
+100
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 0.000000 1.000000 2.000000
+X 3.000000 4.000000 5.000000
+X 6.000000 7.000000 8.000000
+X 9.000000 10.000000 11.000000
+X 12.000000 13.000000 14.000000
+X 15.000000 16.000000 17.000000
+X 18.000000 19.000000 20.000000
+X 21.000000 22.000000 23.000000
+X 24.000000 25.000000 26.000000
+X 27.000000 28.000000 29.000000
+X 30.000000 31.000000 32.000000
+X 33.000000 34.000000 35.000000
+X 36.000000 37.000000 38.000000
+X 39.000000 40.000000 41.000000
+X 42.000000 43.000000 44.000000
+X 45.000000 46.000000 47.000000
+X 48.000000 49.000000 50.000000
+X 51.000000 52.000000 53.000000
+X 54.000000 55.000000 56.000000
+X 57.000000 58.000000 59.000000
+X 60.000000 61.000000 62.000000
+X 63.000000 64.000000 65.000000
+X 66.000000 67.000000 68.000000
+X 69.000000 70.000000 71.000000
+X 72.000000 73.000000 74.000000
+X 75.000000 76.000000 77.000000
+X 78.000000 79.000000 80.000000
+X 81.000000 82.000000 83.000000
+X 84.000000 85.000000 86.000000
+X 87.000000 88.000000 89.000000
+X 90.000000 91.000000 92.000000
+X 93.000000 94.000000 95.000000
+X 96.000000 97.000000 98.000000
+X 99.000000 100.000000 101.000000
+X 102.000000 103.000000 104.000000
+X 105.000000 106.000000 107.000000
+X 108.000000 109.000000 110.000000
+X 111.000000 112.000000 113.000000
+X 114.000000 115.000000 116.000000
+X 117.000000 118.000000 119.000000
+X 120.000000 121.000000 122.000000
+X 123.000000 124.000000 125.000000
+X 126.000000 127.000000 128.000000
+X 129.000000 130.000000 131.000000
+X 132.000000 133.000000 134.000000
+X 135.000000 136.000000 137.000000
+X 138.000000 139.000000 140.000000
+X 141.000000 142.000000 143.000000
+X 144.000000 145.000000 146.000000
+X 147.000000 148.000000 149.000000
+X 150.000000 151.000000 152.000000
+X 153.000000 154.000000 155.000000
+X 156.000000 157.000000 158.000000
+X 159.000000 160.000000 161.000000
+X 162.000000 163.000000 164.000000
+X 165.000000 166.000000 167.000000
+X 168.000000 169.000000 170.000000
+X 171.000000 172.000000 173.000000
+X 174.000000 175.000000 176.000000
+X 177.000000 178.000000 179.000000
+X 180.000000 181.000000 182.000000
+X 183.000000 184.000000 185.000000
+X 186.000000 187.000000 188.000000
+X 189.000000 190.000000 191.000000
+X 192.000000 193.000000 194.000000
+X 195.000000 196.000000 197.000000
+X 198.000000 199.000000 200.000000
+X 201.000000 202.000000 203.000000
+X 204.000000 205.000000 206.000000
+X 207.000000 208.000000 209.000000
+X 210.000000 211.000000 212.000000
+X 213.000000 214.000000 215.000000
+X 216.000000 217.000000 218.000000
+X 219.000000 220.000000 221.000000
+X 222.000000 223.000000 224.000000
+X 225.000000 226.000000 227.000000
+X 228.000000 229.000000 230.000000
+X 231.000000 232.000000 233.000000
+X 234.000000 235.000000 236.000000
+X 237.000000 238.000000 239.000000
+X 240.000000 241.000000 242.000000
+X 243.000000 244.000000 245.000000
+X 246.000000 247.000000 248.000000
+X 249.000000 250.000000 251.000000
+X 252.000000 253.000000 254.000000
+X 255.000000 256.000000 257.000000
+X 258.000000 259.000000 260.000000
+X 261.000000 262.000000 263.000000
+X 264.000000 265.000000 266.000000
+X 267.000000 268.000000 269.000000
+X 270.000000 271.000000 272.000000
+X 273.000000 274.000000 275.000000
+X 276.000000 277.000000 278.000000
+X 279.000000 280.000000 281.000000
+X 282.000000 283.000000 284.000000
+X 285.000000 286.000000 287.000000
+X 288.000000 289.000000 290.000000
+X 291.000000 292.000000 293.000000
+X 294.000000 295.000000 296.000000
+X 297.000000 298.000000 299.000000
+100
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 4.000000 5.000000 6.000000
+X 7.000000 8.000000 9.000000
+X 10.000000 11.000000 12.000000
+X 13.000000 14.000000 15.000000
+X 16.000000 17.000000 18.000000
+X 19.000000 20.000000 21.000000
+X 22.000000 23.000000 24.000000
+X 25.000000 26.000000 27.000000
+X 28.000000 29.000000 30.000000
+X 31.000000 32.000000 33.000000
+X 34.000000 35.000000 36.000000
+X 37.000000 38.000000 39.000000
+X 40.000000 41.000000 42.000000
+X 43.000000 44.000000 45.000000
+X 46.000000 47.000000 48.000000
+X 49.000000 50.000000 51.000000
+X 52.000000 53.000000 54.000000
+X 55.000000 56.000000 57.000000
+X 58.000000 59.000000 60.000000
+X 61.000000 62.000000 63.000000
+X 64.000000 65.000000 66.000000
+X 67.000000 68.000000 69.000000
+X 70.000000 71.000000 72.000000
+X 73.000000 74.000000 75.000000
+X 76.000000 77.000000 78.000000
+X 79.000000 80.000000 81.000000
+X 82.000000 83.000000 84.000000
+X 85.000000 86.000000 87.000000
+X 88.000000 89.000000 90.000000
+X 91.000000 92.000000 93.000000
+X 94.000000 95.000000 96.000000
+X 97.000000 98.000000 99.000000
+X 100.000000 101.000000 102.000000
+X 103.000000 104.000000 105.000000
+X 106.000000 107.000000 108.000000
+X 109.000000 110.000000 111.000000
+X 112.000000 113.000000 114.000000
+X 115.000000 116.000000 117.000000
+X 118.000000 119.000000 120.000000
+X 121.000000 122.000000 123.000000
+X 124.000000 125.000000 126.000000
+X 127.000000 128.000000 129.000000
+X 130.000000 131.000000 132.000000
+X 133.000000 134.000000 135.000000
+X 136.000000 137.000000 138.000000
+X 139.000000 140.000000 141.000000
+X 142.000000 143.000000 144.000000
+X 145.000000 146.000000 147.000000
+X 148.000000 149.000000 150.000000
+X 151.000000 152.000000 153.000000
+X 154.000000 155.000000 156.000000
+X 157.000000 158.000000 159.000000
+X 160.000000 161.000000 162.000000
+X 163.000000 164.000000 165.000000
+X 166.000000 167.000000 168.000000
+X 169.000000 170.000000 171.000000
+X 172.000000 173.000000 174.000000
+X 175.000000 176.000000 177.000000
+X 178.000000 179.000000 180.000000
+X 181.000000 182.000000 183.000000
+X 184.000000 185.000000 186.000000
+X 187.000000 188.000000 189.000000
+X 190.000000 191.000000 192.000000
+X 193.000000 194.000000 195.000000
+X 196.000000 197.000000 198.000000
+X 199.000000 200.000000 201.000000
+X 202.000000 203.000000 204.000000
+X 205.000000 206.000000 207.000000
+X 208.000000 209.000000 210.000000
+X 211.000000 212.000000 213.000000
+X 214.000000 215.000000 216.000000
+X 217.000000 218.000000 219.000000
+X 220.000000 221.000000 222.000000
+X 223.000000 224.000000 225.000000
+X 226.000000 227.000000 228.000000
+X 229.000000 230.000000 231.000000
+X 232.000000 233.000000 234.000000
+X 235.000000 236.000000 237.000000
+X 238.000000 239.000000 240.000000
+X 241.000000 242.000000 243.000000
+X 244.000000 245.000000 246.000000
+X 247.000000 248.000000 249.000000
+X 250.000000 251.000000 252.000000
+X 253.000000 254.000000 255.000000
+X 256.000000 257.000000 258.000000
+X 259.000000 260.000000 261.000000
+X 262.000000 263.000000 264.000000
+X 265.000000 266.000000 267.000000
+X 268.000000 269.000000 270.000000
+X 271.000000 272.000000 273.000000
+X 274.000000 275.000000 276.000000
+X 277.000000 278.000000 279.000000
+X 280.000000 281.000000 282.000000
+X 283.000000 284.000000 285.000000
+X 286.000000 287.000000 288.000000
+X 289.000000 290.000000 291.000000
+X 292.000000 293.000000 294.000000
+X 295.000000 296.000000 297.000000
+X 298.000000 299.000000 300.000000
+X 301.000000 302.000000 303.000000
+100
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 8.000000 9.000000 10.000000
+X 11.000000 12.000000 13.000000
+X 14.000000 15.000000 16.000000
+X 17.000000 18.000000 19.000000
+X 20.000000 21.000000 22.000000
+X 23.000000 24.000000 25.000000
+X 26.000000 27.000000 28.000000
+X 29.000000 30.000000 31.000000
+X 32.000000 33.000000 34.000000
+X 35.000000 36.000000 37.000000
+X 38.000000 39.000000 40.000000
+X 41.000000 42.000000 43.000000
+X 44.000000 45.000000 46.000000
+X 47.000000 48.000000 49.000000
+X 50.000000 51.000000 52.000000
+X 53.000000 54.000000 55.000000
+X 56.000000 57.000000 58.000000
+X 59.000000 60.000000 61.000000
+X 62.000000 63.000000 64.000000
+X 65.000000 66.000000 67.000000
+X 68.000000 69.000000 70.000000
+X 71.000000 72.000000 73.000000
+X 74.000000 75.000000 76.000000
+X 77.000000 78.000000 79.000000
+X 80.000000 81.000000 82.000000
+X 83.000000 84.000000 85.000000
+X 86.000000 87.000000 88.000000
+X 89.000000 90.000000 91.000000
+X 92.000000 93.000000 94.000000
+X 95.000000 96.000000 97.000000
+X 98.000000 99.000000 100.000000
+X 101.000000 102.000000 103.000000
+X 104.000000 105.000000 106.000000
+X 107.000000 108.000000 109.000000
+X 110.000000 111.000000 112.000000
+X 113.000000 114.000000 115.000000
+X 116.000000 117.000000 118.000000
+X 119.000000 120.000000 121.000000
+X 122.000000 123.000000 124.000000
+X 125.000000 126.000000 127.000000
+X 128.000000 129.000000 130.000000
+X 131.000000 132.000000 133.000000
+X 134.000000 135.000000 136.000000
+X 137.000000 138.000000 139.000000
+X 140.000000 141.000000 142.000000
+X 143.000000 144.000000 145.000000
+X 146.000000 147.000000 148.000000
+X 149.000000 150.000000 151.000000
+X 152.000000 153.000000 154.000000
+X 155.000000 156.000000 157.000000
+X 158.000000 159.000000 160.000000
+X 161.000000 162.000000 163.000000
+X 164.000000 165.000000 166.000000
+X 167.000000 168.000000 169.000000
+X 170.000000 171.000000 172.000000
+X 173.000000 174.000000 175.000000
+X 176.000000 177.000000 178.000000
+X 179.000000 180.000000 181.000000
+X 182.000000 183.000000 184.000000
+X 185.000000 186.000000 187.000000
+X 188.000000 189.000000 190.000000
+X 191.000000 192.000000 193.000000
+X 194.000000 195.000000 196.000000
+X 197.000000 198.000000 199.000000
+X 200.000000 201.000000 202.000000
+X 203.000000 204.000000 205.000000
+X 206.000000 207.000000 208.000000
+X 209.000000 210.000000 211.000000
+X 212.000000 213.000000 214.000000
+X 215.000000 216.000000 217.000000
+X 218.000000 219.000000 220.000000
+X 221.000000 222.000000 223.000000
+X 224.000000 225.000000 226.000000
+X 227.000000 228.000000 229.000000
+X 230.000000 231.000000 232.000000
+X 233.000000 234.000000 235.000000
+X 236.000000 237.000000 238.000000
+X 239.000000 240.000000 241.000000
+X 242.000000 243.000000 244.000000
+X 245.000000 246.000000 247.000000
+X 248.000000 249.000000 250.000000
+X 251.000000 252.000000 253.000000
+X 254.000000 255.000000 256.000000
+X 257.000000 258.000000 259.000000
+X 260.000000 261.000000 262.000000
+X 263.000000 264.000000 265.000000
+X 266.000000 267.000000 268.000000
+X 269.000000 270.000000 271.000000
+X 272.000000 273.000000 274.000000
+X 275.000000 276.000000 277.000000
+X 278.000000 279.000000 280.000000
+X 281.000000 282.000000 283.000000
+X 284.000000 285.000000 286.000000
+X 287.000000 288.000000 289.000000
+X 290.000000 291.000000 292.000000
+X 293.000000 294.000000 295.000000
+X 296.000000 297.000000 298.000000
+X 299.000000 300.000000 301.000000
+X 302.000000 303.000000 304.000000
+X 305.000000 306.000000 307.000000
diff --git a/regtest/basic/rt-make-namd/cc.reference b/regtest/basic/rt-make-namd/cc.reference
new file mode 100644
index 0000000000000000000000000000000000000000..c2b432516cdeff8a289f2fe7c54ad6cebc178477
--- /dev/null
+++ b/regtest/basic/rt-make-namd/cc.reference
@@ -0,0 +1,6 @@
+#! FIELDS time d
+ 0.000000 5.196152
+ 0.002000 5.196152
+ 0.004000 5.196152
+ 0.006000 5.196152
+ 0.008000 5.196152
diff --git a/regtest/basic/rt-make-namd/config b/regtest/basic/rt-make-namd/config
new file mode 100644
index 0000000000000000000000000000000000000000..df1f95bf3ee289aa8367431334c00cf144754ddf
--- /dev/null
+++ b/regtest/basic/rt-make-namd/config
@@ -0,0 +1 @@
+type=make
diff --git a/regtest/basic/rt-make-namd/main.cpp b/regtest/basic/rt-make-namd/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c0ef652482fd7200497509a4d707a433d92b19fd
--- /dev/null
+++ b/regtest/basic/rt-make-namd/main.cpp
@@ -0,0 +1,104 @@
+#include <vector>
+#include <fstream>
+#include "plumed/wrapper/Plumed.h"
+#include <iostream>
+
+using namespace PLMD;
+
+int main(){
+  Plumed* plumed=new Plumed;
+
+  int natoms=100;
+
+  std::vector<double> all_positions(3*natoms,0.0);
+  for(unsigned i=0;i<natoms;i++) all_positions[i]=i;
+  std::vector<double> all_masses(natoms,1.0);
+  std::vector<double> all_charges(natoms,1.0);
+  std::vector<double> all_forces(3*natoms,0.0);
+  std::vector<double> box(9,0.0);
+  std::vector<double> virial(9,0.0);
+
+  plumed->cmd("setNatoms",&natoms);
+  plumed->cmd("setLogFile","test.log");
+  double dt=0.001;
+  plumed->cmd("setTimestep",&dt);
+  plumed->cmd("setNoVirial");
+
+  std::string file="plumed.dat";
+  plumed->cmd("setPlumedDat",file.c_str());
+
+  plumed->cmd("init");
+  std::ofstream ofs("output");
+
+  std::vector<int> index;
+  std::vector<double> masses;
+  std::vector<double> forces;
+  std::vector<double> positions;
+  std::vector<double> charges;
+
+  bool first=true;
+
+  for(int step=0;step<10;step++){
+  for(unsigned i=0;i<3*natoms;i++) all_positions[i]=i+step;
+    int* p=nullptr;
+    int n=0;
+    plumed->cmd("setStep",&step);
+    plumed->cmd("prepareDependencies");
+    plumed->cmd("createFullList",&n);
+//std::cerr<<"n= "<<n<<"\n";
+    plumed->cmd("getFullList",&p);
+    bool redo=(index.size()!=n);
+    if(first) redo=true;
+    first=false;
+    if(!redo) for(int i=0;i<n;i++) if(index[i]!=p[i]) { redo=true; break;};
+    if(redo){
+      index.resize(n);
+      masses.resize(n);
+      for(int i=0;i<n;i++){
+        masses[i]=all_masses[p[i]];  
+        index[i]=p[i];
+      };
+      positions.resize(3*n);
+      forces.resize(3*n);
+      charges.resize(n);
+      
+      plumed->cmd("setAtomsNlocal",&n);
+      plumed->cmd("setAtomsGatindex",(index.empty()?nullptr:&index[0]));
+// for(unsigned i=0;i<n;i++) std::cerr<< "I "<<index[i] <<"\n";
+    }
+    plumed->cmd("clearFullList");
+
+    for(int i=0;i<index.size();i++){
+      positions[3*i+0]=all_positions[3*index[i]+0];
+      positions[3*i+1]=all_positions[3*index[i]+1];
+      positions[3*i+2]=all_positions[3*index[i]+2];
+      masses[i]=all_masses[index[i]];
+      charges[i]=all_charges[index[i]];
+    };
+
+    plumed->cmd("setBox",&box[0]);
+
+    for(int i=0;i<forces.size();i++) forces[i]=0.0;
+
+// std::cerr<<"mass "<<&masses[0]<<" "<<(&masses[0]==NULL)<<"\n";
+    plumed->cmd("setMasses",(masses.empty()?nullptr:&masses[0]));
+    plumed->cmd("setCharges",(charges.empty()?nullptr:&charges[0]));
+    plumed->cmd("setPositions",(positions.empty()?nullptr:&positions[0]));
+    plumed->cmd("setForces",(forces.empty()?nullptr:&forces[0]));
+
+    plumed->cmd("shareData");
+    plumed->cmd("performCalc");
+
+    std::vector<double> all_forces(3*natoms,0.0);
+
+    for(unsigned i=0;i<all_forces.size();i++) all_forces[i]=0.0;
+    for(int i=0;i<index.size();i++){
+      all_forces[3*index[i]+0]=forces[3*i+0];
+      all_forces[3*index[i]+1]=forces[3*i+1];
+      all_forces[3*index[i]+2]=forces[3*i+2];
+    }
+  }
+
+  delete plumed;
+  return 0;
+}
diff --git a/regtest/basic/rt-make-namd/plumed.dat b/regtest/basic/rt-make-namd/plumed.dat
new file mode 100644
index 0000000000000000000000000000000000000000..adc9166543c62843d4e2fcf1fc6de706f6f5cf84
--- /dev/null
+++ b/regtest/basic/rt-make-namd/plumed.dat
@@ -0,0 +1,5 @@
+d: DISTANCE ATOMS=2,3
+PRINT ARG=d STRIDE=2 FILE=cc
+DUMPATOMS ATOMS=2,3 FILE=xyz STRIDE=2
+DUMPATOMS ATOMS=1-100 STRIDE=4 FILE=all
+
diff --git a/regtest/basic/rt-make-namd/xyz.reference b/regtest/basic/rt-make-namd/xyz.reference
new file mode 100644
index 0000000000000000000000000000000000000000..547597b521a371695e0f9fbdc7311212cbcb7e37
--- /dev/null
+++ b/regtest/basic/rt-make-namd/xyz.reference
@@ -0,0 +1,20 @@
+2
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 3.000000 4.000000 5.000000
+X 6.000000 7.000000 8.000000
+2
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 5.000000 6.000000 7.000000
+X 8.000000 9.000000 10.000000
+2
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 7.000000 8.000000 9.000000
+X 10.000000 11.000000 12.000000
+2
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 9.000000 10.000000 11.000000
+X 12.000000 13.000000 14.000000
+2
+ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
+X 11.000000 12.000000 13.000000
+X 14.000000 15.000000 16.000000