GUI improvements

Added features to the gui interface. also made code more organized with
regions.