initial commit, gui depenting code is a mess