GUI redesign and unittest