interface cleaned up a bit, working on threading now