update with block diagram and description