Section B is completed, the idea at last. Although I don't think it take
care of all cases....Probably Shape Factory need to be modified