DMA working; cleanup