      */
 	template <typename Policy, typename Detail>
     cudaError_t PostSort(Detail &detail, int num_passes);
+
+    /**
+	 * Performs a radix sorting operation
+	 */
+	template <typename Policy, typename Detail>
+	cudaError_t EnactSort(Detail &detail);
+
+	/**
+	 * Performs a radix sorting pass
+	 */
+	template <typename Policy, typename PassPolicy, typename Detail>
+	cudaError_t EnactPass(Detail &detail);
+
 
 public:
 

	template <int CUDA_ARCH, typename Detail>
	static cudaError_t Enact(Detail &detail)
	{
		typedef typename Detail::ProblemType ProblemType;

		// Obtain large tuned granularity type
		typedef AutotunedPolicy<ProblemType, CUDA_ARCH, LARGE_SIZE> LargePolicy;

		// Identity the maximum problem size for which we can saturate loads
		int saturating_load = LargePolicy::Upsweep::TILE_ELEMENTS *



	//-----------------------------------------------------------------------------
	// Helper structures
	//-----------------------------------------------------------------------------

	template <
		int _START_BIT,
		int _NUM_BITS,
		typename PingPongStorage,
		typename SizeT>
	friend class Detail;


	//-----------------------------------------------------------------------------
	// Utility Routines
	//-----------------------------------------------------------------------------

