Some interesting ideas in this thread;