I've modified the codeplan.txt to be a bit more pythonic and in line with Jeff's started code. Also check out parsing.py which has function prototypes for all the parse() and generate() functions for the main core classes. Jeff, your parsing stuff is right in line with this stuff, but the parsing in the Command classes should get done by the parse() function in the Chain class then pass the rest of the rule to the parse function in the Rule class. I also decided make generate() the method name instead of as_string() since a lot of the higher level classes use lists of strings. See parsing.py for prototypes. my files are here: http://futeki.homelinux.com/fireconf/ -- Timothy A. Chagnon <tchagnon@xxxxxxxxx>