revamped background threads - used process instead of thread; added menu