That is another way of implimenting the dispatch table however that really doesn't help me in thie situation. I need to have one of the hash entries be "deeper" then the rest. Your example is basicly what I already have - a table that works if all entries have the same depth. Although it does help simplify the IF/THEN/ELSE that is remaing.