linked listeners to gui, still needs work though