added rudimentary variable support