many changes, including GUIs and re-doing the external controller project