Hi, The comment for the method paint() in Display2D.InnerDisplay2D is unfinished: /** Paints an image to the screen either buffered or unbuffered. If buffered, the buffer is returned for your convenience. Synchronizes on the schedule; since we know that the schedule's step() method is synchronized on the schedule as well, this gives us a way to block this method from reading from the model until we know the model isn't being updated any more. However as you might guess, this also presents a deadlock opportunity if a scheduled */ I'm quite interested to hear the rest of it, because I'm currently developing my own Controller and have run into some threading issues. Currently, I'm avoiding deadlocks by always calling Display2D.step() in using invokeLater(), but I've not done much Swing before and I don't have a good grasp of the situation. rob -- Rob Alexander (E-mail: [log in to unmask]) Research Associate, Dept of Computer Science, The University of York, York, YO10 5DD, UK Tel: 01904 432792 Fax: 01904 432708