general purpose lua interpreter