organization
implemented If node

this requires testing for laziness
ported VariableInput
ported Apply Function