Huge GUI functionality update