moved GUI to separate class, still work in progress. will fix later