added ghc block diagram