added a new class to parse a complex name