I've always thought it would be interesting to try and build the core algorithms. My hope is that others can benefit from this.