all blocks implemented except for general convolution