 {
 public:
 
-  vector<Node<T>*> nodes;
+  Vector<Node<T>*> nodes;
 
   Layer<T>* prevLayer;
   Layer<T>* nextLayer;

enum ActType{ 
  linear = 0, sigmoid, tangenth, none, bias };

template <class T>
T actBias( T n )
{
  return (T)1.0;
}

template <typename T>
T actNone( T n )
{
  return n;
}

template <typename T>
T actLinear( T n )
{
  return n;
}


template <typename T>
T actSigmoid( T n )
{
  return 1.0 / ( 1.0 + exp(-n) );
}


template <typename T>
T derivLinear( T n )
{
  return 1.0;
}


template <typename T>
T derivSigmoid( T n )
{
  return n * ( 1.0 - n );
}



template<class T>
class vector
{
  T _vec;
  int _sz;
  int _trk;

public:
  vector(int sz=10) : 
  _sz(sz), _trk(0) { 
    _vec = malloc( sizeof(T) * sz ); 
  };
  ~vector(){ 
    free(_vec); 
  };
  void push_back( T p )
  { 
    ((T)(_vec+_trk)) = p; 
    _trk++; 
    if( _trk > _sz ) 
    { 
      _sz+=10;
      _vec = realloc( _vec, sizeof(T) * _sz ); 
    }
  };
  T operator[](int i){ 
    return _vec+i; 
  };

  boolean empty() { 
    return _trk == 0; 
  };
  int size() { 
    return _trk; 
  };


};

template<typename T>
class Node


  T sumIn;

  Layer( int n, ActType act, bool bias )
: 
    count(n), prevLayer(NULL), nextLayer(NULL), _activation(act), _bias(bias),
    sumIn(0.0)
