tests, GUI refactoring + documentation