diff --git a/modules/conop/tests/test_heuristic_builder.cc b/modules/conop/tests/test_heuristic_builder.cc
deleted file mode 100644
index 8ec8b697c5db071f340b3b0e8a28d62a8ba19468..0000000000000000000000000000000000000000
--- a/modules/conop/tests/test_heuristic_builder.cc
+++ /dev/null
@@ -1,224 +0,0 @@
-// ------------------------------------------------------------------------------
-// This file is part of the OpenStructure project <www.openstructure.org>
-
-// Copyright (C) 2008-2020 by the OpenStructure authors
-
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License as published by the Free
-// Software Foundation; either version 3.0 of the License, or (at your option)
-// any later version.
-// This library is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-// FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
-// details.
-
-// You should have received a copy of the GNU Lesser General Public License
-// along with this library; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-// ------------------------------------------------------------------------------
-
-#include <ost/mol/mol.hh>
-#include <ost/conop/heuristic_builder.hh>
-
-#define BOOST_TEST_DYN_LINK
-#include <boost/test/unit_test.hpp>
-
-#include <ost/log.hh>
-using boost::unit_test_framework::test_suite;
-using namespace ost;
-using namespace ost::conop;
-using namespace ost::mol;
-namespace {
-} // anon ns
-
-ResidueHandle make_arg(ChainHandle chain) 
-{
-  XCSEditor e=chain.GetEntity().EditXCS();
-  ResidueHandle res = e.AppendResidue(chain, "ARG");
-  e.InsertAtom(res, "N",geom::Vec3(20.202,33.112,58.011));
-  e.InsertAtom(res, "CA",geom::Vec3(19.396,31.903,58.033));
-  e.InsertAtom(res, "C",geom::Vec3(18.608,31.739,59.328));
-  e.InsertAtom(res, "O",geom::Vec3(17.651,30.965,59.381));
-  e.InsertAtom(res, "CB",geom::Vec3(20.284,30.681,57.801));
-  e.InsertAtom(res, "CG",geom::Vec3(20.665,30.488,56.342));
-  e.InsertAtom(res, "CD",geom::Vec3(21.557,29.281,56.154));
-  e.InsertAtom(res, "NE",geom::Vec3(22.931,29.557,56.551));
-  e.InsertAtom(res, "CZ",geom::Vec3(23.901,28.653,56.528));
-  e.InsertAtom(res, "NH1",geom::Vec3(23.640,27.417,56.130));
-  e.InsertAtom(res, "NH2",geom::Vec3(25.132,28.980,56.893));
-  return res;
-}
-
-ResidueHandle make_leu(ChainHandle chain) 
-{
-  XCSEditor e=chain.GetEntity().EditXCS();  
-  ResidueHandle res=e.AppendResidue(chain, "LEU");
-
-  e.InsertAtom(res, "N", geom::Vec3(19.003,32.473,60.366));
-  e.InsertAtom(res, "CA", geom::Vec3(18.330,32.402,61.664));
-  e.InsertAtom(res, "C", geom::Vec3(17.884,33.787,62.117));
-  e.InsertAtom(res, "O", geom::Vec3(17.853,34.091,63.308));
-  e.InsertAtom(res, "CB", geom::Vec3(19.269,31.793,62.710));
-  e.InsertAtom(res, "CG", geom::Vec3(19.695,30.340,62.501));
-  e.InsertAtom(res, "CD1", geom::Vec3(20.585,29.897,63.648));
-  e.InsertAtom(res, "CD2", geom::Vec3(18.461,29.459,62.420));
-  return res;
-}
-
-ResidueHandle make_defective_leu(ChainHandle chain) 
-{
-  XCSEditor e=chain.GetEntity().EditXCS();  
-  ResidueHandle res=e.AppendResidue(chain, "LEU");
-
-  e.InsertAtom(res, "N", geom::Vec3(19.003,32.473,60.366));
-  e.InsertAtom(res, "CA", geom::Vec3(18.330,32.402,61.664));
-  e.InsertAtom(res, "C", geom::Vec3(17.884,33.787,62.117));
-  e.InsertAtom(res, "O", geom::Vec3(17.853,34.091,63.308));
-  e.InsertAtom(res, "CB", geom::Vec3(19.269,31.793,102.710));
-  e.InsertAtom(res, "CG", geom::Vec3(19.695,30.340,62.501));
-  e.InsertAtom(res, "CD1", geom::Vec3(20.585,29.897,63.648));
-  e.InsertAtom(res, "CD2", geom::Vec3(18.461,29.459,62.420));
-  return res;
-}
-
-void verify_connectivity_x(const ResidueHandle& res) 
-{
-  BOOST_CHECK(BondExists(res.FindAtom("XN"),
-                         res.FindAtom("XCA")));
-  BOOST_CHECK(BondExists(res.FindAtom("XCA"),
-                         res.FindAtom("XC")));
-  BOOST_CHECK(BondExists(res.FindAtom("XC"),
-                         res.FindAtom("XO")));
-  BOOST_CHECK(BondExists(res.FindAtom("XCA"),
-                         res.FindAtom("XCB")));
-  BOOST_CHECK(BondExists(res.FindAtom("XCB"),
-                         res.FindAtom("XCG")));
-  if (res.GetKey()=="ARG") {
-
-    BOOST_CHECK(BondExists(res.FindAtom("XCB"),
-                           res.FindAtom("XCG")));
-    BOOST_CHECK(BondExists(res.FindAtom("XCG"),
-                           res.FindAtom("XCD")));
-    BOOST_CHECK(BondExists(res.FindAtom("XCD"),
-                           res.FindAtom("XNE")));
-    BOOST_CHECK(BondExists(res.FindAtom("XNE"),
-                           res.FindAtom("XCZ")));
-    BOOST_CHECK(BondExists(res.FindAtom("XCZ"),
-                           res.FindAtom("XNH1")));
-    BOOST_CHECK(BondExists(res.FindAtom("XCZ"),
-                           res.FindAtom("XNH2")));
-    // TODO: Check that no other atoms are connected!
-  }
-  if (res.GetKey()=="ILE") {
-    BOOST_CHECK(BondExists(res.FindAtom("XCG"),
-                           res.FindAtom("XCD1")));
-    BOOST_CHECK(BondExists(res.FindAtom("XCG"),
-                           res.FindAtom("XCD2")));
-    // TODO: Check that no other atoms are connected!
-  }
-}
-
-void verify_connectivity(const ResidueHandle& res) 
-{
-  BOOST_CHECK(BondExists(res.FindAtom("N"),
-                        res.FindAtom("CA")));
-  BOOST_CHECK(BondExists(res.FindAtom("CA"),
-                         res.FindAtom("C")));
-  BOOST_CHECK(BondExists(res.FindAtom("C"),
-                         res.FindAtom("O")));
-  BOOST_CHECK(BondExists(res.FindAtom("CA"),
-                         res.FindAtom("CB")));
-  BOOST_CHECK(BondExists(res.FindAtom("CB"),
-                         res.FindAtom("CG")));
-  if (res.GetKey()=="ARG") {
-
-    BOOST_CHECK(BondExists(res.FindAtom("CB"),
-                           res.FindAtom("CG")));
-    BOOST_CHECK(BondExists(res.FindAtom("CG"),
-                           res.FindAtom("CD")));
-    BOOST_CHECK(BondExists(res.FindAtom("CD"),
-                           res.FindAtom("NE")));
-    BOOST_CHECK(BondExists(res.FindAtom("NE"),
-                           res.FindAtom("CZ")));
-    BOOST_CHECK(BondExists(res.FindAtom("CZ"),
-                           res.FindAtom("NH1")));
-    BOOST_CHECK(BondExists(res.FindAtom("CZ"),
-                           res.FindAtom("NH2")));
-    // TODO: Check that no other atoms are connected!
-  }
-  if (res.GetKey()=="ILE") {
-    BOOST_CHECK(BondExists(res.FindAtom("CG"),
-                           res.FindAtom("CD1")));
-    BOOST_CHECK(BondExists(res.FindAtom("CG"),
-                           res.FindAtom("CD2")));
-    // TODO: Check that no other atoms are connected!
-  }
-}
-
-BOOST_AUTO_TEST_SUITE( conop );
-
-
-BOOST_AUTO_TEST_CASE(name_based_connect) 
-{
-  EntityHandle e=CreateEntity();
-  ChainHandle c=e.EditXCS().InsertChain("A");
-  ResidueHandle ile=make_leu(c);
-  ResidueHandle arg=make_arg(c);
-  HeuristicBuilder heuristic_builder;  
-  AtomHandleList atoms =e .GetAtomList();
-  for (AtomHandleList::const_iterator i = atoms.begin(), e = atoms.end(); i!=e; ++i ){
-    heuristic_builder.FillAtomProps(*i);
-  }
-
-  EntityHandle de=CreateEntity();
-  ChainHandle dc=de.EditXCS().InsertChain("A");
-  ResidueHandle dile=make_defective_leu(dc);
-  HeuristicBuilder dheuristic_builder;
-  dheuristic_builder.SetBondFeasibilityCheck(false);
-  atoms = de.GetAtomList();
-  for (AtomHandleList::const_iterator i = atoms.begin(), e = atoms.end(); i!=e; ++i ){
-    dheuristic_builder.FillAtomProps(*i);
-  }
-   
-  BOOST_TEST_MESSAGE("running distance based checks on arginine");
-  heuristic_builder.ConnectAtomsOfResidue(arg);
-  verify_connectivity(arg);
-  BOOST_TEST_MESSAGE("running distance based checks on leu");
-  heuristic_builder.ConnectAtomsOfResidue(ile);
-  verify_connectivity(ile);
-  
-  BOOST_TEST_MESSAGE("running distance based checks on defective leu");
-  dheuristic_builder.ConnectAtomsOfResidue(dile);
-  verify_connectivity(dile);  
-}
-
-BOOST_AUTO_TEST_CASE(test_assign_torsions){
-  EntityHandle e=CreateEntity();
-  ChainHandle c=e.EditXCS().InsertChain("A");
-  ResidueHandle l1=make_leu(c);
-  ResidueHandle a2=make_arg(c);
-  ResidueHandle l3=make_leu(c);
-  l1.SetChemClass(ChemClass(ChemClass::L_PEPTIDE_LINKING));
-  a2.SetChemClass(ChemClass(ChemClass::L_PEPTIDE_LINKING));  
-  l3.SetChemClass(ChemClass(ChemClass::L_PEPTIDE_LINKING));
-  HeuristicBuilder heuristic_builder;
-  AtomHandleList atoms = e.GetAtomList();
-  for (AtomHandleList::const_iterator i = atoms.begin(), e = atoms.end(); i!=e; ++i ){
-    heuristic_builder.FillAtomProps(*i);
-  }
-  heuristic_builder.ConnectAtomsOfResidue(l1);
-  heuristic_builder.ConnectAtomsOfResidue(a2);
-  heuristic_builder.ConnectAtomsOfResidue(l3);
-  XCSEditor edi=e.EditXCS();
-  edi.Connect(l1.FindAtom("C"), a2.FindAtom("N"));
-  edi.Connect(a2.FindAtom("C"), l3.FindAtom("N"));  
-  heuristic_builder.AssignTorsions(c);
-
-  BOOST_CHECK(a2.GetPhiTorsion().IsValid());
-  BOOST_CHECK(l3.GetPhiTorsion().IsValid());
-
-  BOOST_CHECK(l1.GetPsiTorsion().IsValid());
-  BOOST_CHECK(a2.GetPsiTorsion().IsValid());
-}
-
-BOOST_AUTO_TEST_SUITE_END( );