use rawset to avoid metamethod loop in exposed assigns