split gui class into module