 	const int column = threadIdx.x;
 	if( row < srcMatrix.number_rows() and column < srcMatrix.number_columns() ) {
 		const int index = row*srcMatrix.number_columns()+column;
-		destMatrix[row][column] = destMatrix[row][column];
+		destMatrix[row][column] = srcMatrix[row][column];
 		srcFronts[index] = srcMatrix.front();
 		srcBacks[index] = srcMatrix.back();
 		srcFrontsNonConst[index] = srcMatrixNonConst.front();

			}
		}
		ecuda::matrix<Coordinate> deviceMatrix( 10, 20 );
		ecuda::matrix<Coordinate> destDeviceMatrix( 10, 20 );
		deviceMatrix.assign( hostVector.begin(), hostVector.end() );
		ecuda::vector<Coordinate> deviceFronts( 10*20, -1 );
		ecuda::vector<Coordinate> deviceBacks( 10*20, -1 );
		ecuda::vector<Coordinate> deviceFrontsNonConst( 10*20, -1 );

		std::vector<Coordinate> hostResults;

		destDeviceMatrix >> hostResults;
for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) {
	std::cout << "[" << i << "] COORDINATE ( " << hostResults[i].x << "," << hostResults[i].y << " )" << std::endl;
}
		for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != Coordinate(i/20,i%20) ) passed = false;
std::cerr << "passed = " << ( passed ? "true" : "false" ) << std::endl;

		deviceFronts >> hostResults;
		for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != Coordinate(0,0) ) passed = false;
std::cerr << "passed = " << ( passed ? "true" : "false" ) << std::endl;

		deviceBacks >> hostResults;
		for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != Coordinate(9,19) ) passed = false;
std::cerr << "passed = " << ( passed ? "true" : "false" ) << std::endl;

		deviceFrontsNonConst >> hostResults;
		for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != Coordinate(0,0) ) passed = false;
std::cerr << "passed = " << ( passed ? "true" : "false" ) << std::endl;

		deviceBacksNonConst >> hostResults;
		for( std::vector<Coordinate>::size_type i = 0; i < hostResults.size(); ++i ) if( hostResults[i] != Coordinate(9,19) ) passed = false;
std::cerr << "passed = " << ( passed ? "true" : "false" ) << std::endl;

		testResults.push_back( passed ? 1 : 0 );

