remove the need for a shelve, and simply store json, allowing for easily updatable data not immediately available in the reports
Optimize code more. Update documentation