starting port; needs to be rewritten by abstracting default layout and redoing GUI