some updates and tweaks to this.