revised to clear up sections on convolution theory and programs