methods and defines for gui please read