block diagram working!