add gui & minor changes