Update gui, module pattern, code clean up...