Hi , i am thinking of refining my DataClient 's GUI with command pattern by calling .execute() for every action invoked in actionPerformed(). However, i am not sure if i should do this or not, because in the GUI, there is alot of variable that is not accessible by outside class. Such as the DataInfo[] returned by criteriaFind and table model....etc. If i am going to implement a command pattern for my action listeners, is there any way that i can do it without passing all these tideous parameter around ? This also generates a lot of inner class...is it a good idea. ? I am also trying to explore some other pattern, any one can suggest a good idea to me. Thanks in advance ! Karl