once I actually understand it all then I can rewrite the whole darn thing from scratch