* done should be initialized...