WIth test cases, gui