block diagram added.