gui refactoring (not complete), microled integration test passes now.