GUI work, kinda functions, but not really