add gui interface
add messaging system