complete refactor of module gui