redo this -- we can un-redo this hack later once we have an ast interpreter