this seems interesting i might make a cs for this.