there's gotta be a shorter version of this.