updated programs, implemented GUI stuffs