support dynamic object