Added basic working GUI with supporting classes.