+ bugfix, cannot alter the function declaration order, and using {} for transactions