interpreter structure