monitor gui, huge refactoring