first part of the eureka gui rewrite