some ideas on new features: threading, etc