added semantic chart generation