I am using Microsoft Visio 2007, for reverse engineering my project code to UML model. But some the classes are not getting detected by visio....especially classes having containment relationship.

Can anybody suggest a "better" UML modeling tool that can extract classes having complex hierarchies or relationships.

Thanks in advance.