almost done with this.