implements new gui