Ref #3280 : With put, versionning, refactoring of functions and prettify