working on threading and graphics
merge