support the instance changing, I guess