refactored to avoid duplications
version number is now 2.13-SNAPSHOT
arguments should be writable within the function but not when accessed
through function (if flag set)