abstract machine implementation finished