#                   [(n_h[0, -1], 0, 1.0)], # 1
        [(n_h[1, -1], 1, 1.0), (n_h[1, 0], 1, 1.0)],
    ]

    cp.cnstr_rhs = np.zeros((len(cp.cnstr_lhs),), dtype=float)

    # @todo - renaming of methods
    # @todo - projection on the caf - to get the initial vector
    # @todo - gemetry transformator
    # @todo - derivatives of caf for the current position.
    # @todo - rthombus generator with cut-away elements
    # @todo - time step counting - save the initial step separately from the time history

    X0 = cp.generate_X0()

    X_fc = cp.solve(X0 + 1e-6)

    #
#    print 'nodes'
#    new_nodes = cp.get_new_nodes(X_fc)
#    cp2 = CreasePattern(nodes = new_nodes,
#                        crease_lines = cp.crease_lines,
#                        facets = cp.facets,
#                        n_steps = 1,
#                        show_iter = True,
#                        z0_ratio = 0.1,
#                        MAX_ITER = 200)
#
#    face_z_t = CnstrTargetFace(F = [r_, s_, 0])
#
#    cp2.tf_lst = [(face_z_t, n_arr)]
                    [(n_h[0, 0], 1, 1.0), (n_h[3, 0], 1, -1)], # 1
                    [(n_h[0, 0], 1, 1.0), (n_h[4, 0], 1, -1)], # 1
                    [(n_h[0, -1], 1, 1.0), (n_h[1, -1], 1, -1)], # 0
                    [(n_h[0, -1], 1, 1.0), (n_h[2, -1], 1, -1)], # 1
                    [(n_h[0, -1], 1, 1.0), (n_h[3, -1], 1, -1)], # 1
                    [(n_h[0, -1], 1, 1.0), (n_h[4, -1], 1, -1)], # 1
#                    [(n_h[1, -1], 1, 1.0), (n_h[1, 0], 1, 1.0)],
                    ]

    cp.cnstr_rhs = np.zeros((len(cp.cnstr_lhs),), dtype=float)

    #del cp.eqcons['cl']

    # @todo - renaming of methods
    # @todo - projection on the caf - to get the initial vector
    # @todo - gemetry transformator
    # @todo - derivatives of caf for the current position.
    # @todo - rthombus generator with cut-away elements
    # @todo - time step counting - save the initial step separately from the time history

    X0 = cp.generate_X0()

    X_fc = cp.solve(X0 - 1e-8)

    my_model = CreasePatternView(data=cp,
                                 ff_resolution=100,
                                 show_cnstr=True)
    my_model.configure_traits()


    cp.cnstr_rhs = np.zeros((len(cp.cnstr_lhs),), dtype=float)

    # @todo - renaming of methods
    # @todo - projection on the caf - to get the initial vector
    # @todo - gemetry transformator
    # @todo - derivatives of caf for the current position.
    # @todo - rthombus generator with cut-away elements
    # @todo - time step counting - save the initial step separately from the time history

    cl = cp.eqcons["cl"]
    del cp.eqcons["cl"]
    #    del cp.eqcons['dc']

    u0 = cp.generate_X0()

    u_no_constraint = cp.solve(u0 + 1e-6)

    cp.eqcons["cl"] = cl
    u_constant_length = cp.solve(u0 + 1e-4)

    # 3 delete the constant length
    del cp.eqcons["cl"]

    connectivity = [(vertex, neighbors) for vertex, neighbors in zip(cp.interior_vertices, cp.cycled_neighbors.T)]
    print "connectivity", connectivity

    uf = EqConsDevelopability(cp, connectivity=connectivity)
    cp.eqcons["uf"] = uf

    # the derivatives are not correct
    cp.use_G_du = False