create view class
seperate model from view
move match and ai controllers to seperate thread
implement controllers in thread
implement preview gp
add log to worker
implement new render system