 		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 );
 

			}
		}
		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 );

	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] = srcMatrix[row][column];
		srcFronts[index] = srcMatrix.front();
		srcBacks[index] = srcMatrix.back();
		srcFrontsNonConst[index] = srcMatrixNonConst.front();
