start implementing interpreter