structured implementation logic / use VariableScope wherever possible