add first pass at interpereter