added name_proxy to compensate the removal of push_back