added GMachine implementation from the tutorial; not plugged in yet