Working interpreter with full variables support