And please add unit tests around this.