base almost done